4519 lines
145 KiB
JavaScript
4519 lines
145 KiB
JavaScript
(window["webpackJsonpGUI"] = window["webpackJsonpGUI"] || []).push([["addon-settings~addons~editor~fullscreen~player"],{
|
|
|
|
/***/ "./src/addons/addons/2d-color-picker/_manifest_entry.js":
|
|
/*!**************************************************************!*\
|
|
!*** ./src/addons/addons/2d-color-picker/_manifest_entry.js ***!
|
|
\**************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"editorOnly": true,
|
|
"name": "2D color picker",
|
|
"description": "Replaces saturation and brightness sliders in the costume editor with a 2D color picker. Hold Shift while dragging the cursor to change the values on a single axis.",
|
|
"tags": [],
|
|
"credits": [{
|
|
"name": "Ucrash"
|
|
}],
|
|
"userscripts": [{
|
|
"url": "userscript.js"
|
|
}],
|
|
"userstyles": [{
|
|
"url": "style.css"
|
|
}],
|
|
"enabledByDefault": false
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/better-img-uploads/_manifest_entry.js":
|
|
/*!*****************************************************************!*\
|
|
!*** ./src/addons/addons/better-img-uploads/_manifest_entry.js ***!
|
|
\*****************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"editorOnly": true,
|
|
"name": "HD image uploads",
|
|
"description": "Adds a new button above the \"upload costume\" button that automatically converts uploaded bitmap images into SVG (vector) images to avoid losing quality.",
|
|
"tags": ["beta"],
|
|
"info": [{
|
|
"type": "notice",
|
|
"text": "Avoid using the HD upload button if you plan to edit the image after uploading.",
|
|
"id": "notSuitableEdit"
|
|
}],
|
|
"credits": [{
|
|
"name": "ErrorGamer2000",
|
|
"link": "https://scratch.mit.edu/users/ErrorGamer2000/"
|
|
}, {
|
|
"name": "GarboMuffin"
|
|
}, {
|
|
"name": "World_Languages"
|
|
}, {
|
|
"name": "SheepTester",
|
|
"link": "https://scratch.mit.edu/users/Sheep_maker/"
|
|
}],
|
|
"dynamicDisable": true,
|
|
"userscripts": [{
|
|
"url": "userscript.js"
|
|
}],
|
|
"userstyles": [{
|
|
"url": "style.css"
|
|
}],
|
|
"settings": [{
|
|
"dynamic": true,
|
|
"name": "Image sizing",
|
|
"id": "fitting",
|
|
"type": "select",
|
|
"potentialValues": [{
|
|
"id": "full",
|
|
"name": "Original size"
|
|
}, {
|
|
"id": "fill",
|
|
"name": "Stretch to fill stage"
|
|
}, {
|
|
"id": "fit",
|
|
"name": "Shrink to fit stage"
|
|
}],
|
|
"default": "fit"
|
|
}]
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/bitmap-copy/_manifest_entry.js":
|
|
/*!**********************************************************!*\
|
|
!*** ./src/addons/addons/bitmap-copy/_manifest_entry.js ***!
|
|
\**********************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* harmony import */ var _environment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../environment */ "./src/addons/environment.js");
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"editorOnly": true,
|
|
"noTranslations": true,
|
|
"name": "Bitmap images copying",
|
|
"description": "Allows you to copy a bitmap image from the costume editor into the system clipboard, so that you can paste it in other websites or software.",
|
|
"info": [{
|
|
"type": "notice",
|
|
"text": "\"Right click → copy\" is not supported. You must press Ctrl+C while a bitmap image is selected.",
|
|
"id": "norightclick"
|
|
}],
|
|
"userscripts": [{
|
|
"url": "userscript.js"
|
|
}],
|
|
"dynamicDisable": true,
|
|
"tags": [],
|
|
"enabledByDefault": true
|
|
};
|
|
|
|
if (!_environment__WEBPACK_IMPORTED_MODULE_0__["clipboardSupported"]) manifest.unsupported = true;
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/block-cherry-picking/_manifest_entry.js":
|
|
/*!*******************************************************************!*\
|
|
!*** ./src/addons/addons/block-cherry-picking/_manifest_entry.js ***!
|
|
\*******************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"editorOnly": true,
|
|
"noTranslations": true,
|
|
"name": "Grab single block with Ctrl key",
|
|
"description": "Adds the ability to drag a single block out of the middle of a script (instead of the entire stack attached below it) while holding the Ctrl key.",
|
|
"info": [{
|
|
"text": "On macOS, use the Cmd key instead of the Ctrl key.",
|
|
"id": "macContextDisabled"
|
|
}, {
|
|
"text": "If \"flip controls\" is enabled, grabbing blocks individually will be the default behavior. Hold Ctrl to drag the entire stack.",
|
|
"id": "flipControls"
|
|
}],
|
|
"credits": [{
|
|
"name": "lisa_wolfgang",
|
|
"link": "https://scratch.mit.edu/users/lisa_wolfgang/"
|
|
}, {
|
|
"name": "GarboMuffin"
|
|
}],
|
|
"userscripts": [{
|
|
"url": "userscript.js"
|
|
}],
|
|
"settings": [{
|
|
"dynamic": true,
|
|
"name": "Flip controls",
|
|
"id": "invertDrag",
|
|
"type": "boolean",
|
|
"default": false
|
|
}],
|
|
"tags": [],
|
|
"dynamicDisable": true,
|
|
"enabledByDefault": true
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/block-count/_manifest_entry.js":
|
|
/*!**********************************************************!*\
|
|
!*** ./src/addons/addons/block-count/_manifest_entry.js ***!
|
|
\**********************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"editorOnly": true,
|
|
"name": "Block count",
|
|
"description": "Shows the total number of blocks in a project in the editor menu bar. Previously part of \"sprite and script count\".",
|
|
"tags": [],
|
|
"credits": [{
|
|
"name": "TheColaber",
|
|
"link": "https://scratch.mit.edu/users/TheColaber/"
|
|
}],
|
|
"dynamicDisable": true,
|
|
"userscripts": [{
|
|
"url": "blockcount.js"
|
|
}]
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/block-duplicate/_manifest_entry.js":
|
|
/*!**************************************************************!*\
|
|
!*** ./src/addons/addons/block-duplicate/_manifest_entry.js ***!
|
|
\**************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"editorOnly": true,
|
|
"noTranslations": true,
|
|
"name": "Duplicate script with Alt key",
|
|
"description": "Quickly duplicate a script by dragging it while holding the Alt key. Hold Ctrl as well to only duplicate a single block instead of the entire stack attached below it.",
|
|
"credits": [{
|
|
"name": "GarboMuffin"
|
|
}],
|
|
"info": [{
|
|
"text": "On macOS, use the Option key instead of the Alt key and Command key instead of the Control key.",
|
|
"id": "mac"
|
|
}],
|
|
"userscripts": [{
|
|
"url": "userscript.js"
|
|
}],
|
|
"dynamicDisable": true,
|
|
"tags": [],
|
|
"enabledByDefault": true
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/block-palette-icons/_manifest_entry.js":
|
|
/*!******************************************************************!*\
|
|
!*** ./src/addons/addons/block-palette-icons/_manifest_entry.js ***!
|
|
\******************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"editorOnly": true,
|
|
"name": "Block palette category icons",
|
|
"description": "Adds icons inside the colored circles that identify block categories.",
|
|
"tags": ["theme"],
|
|
"enabledByDefault": false,
|
|
"dynamicDisable": true,
|
|
"userstyles": [{
|
|
"url": "userstyle.css"
|
|
}],
|
|
"credits": [{
|
|
"name": "--Explosion--",
|
|
"link": "https://scratch.mit.edu/users/--Explosion--/"
|
|
}, {
|
|
"name": "RedGuy7",
|
|
"link": "https://scratch.mit.edu/users/RedGuy7/"
|
|
}]
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/block-switching/_manifest_entry.js":
|
|
/*!**************************************************************!*\
|
|
!*** ./src/addons/addons/block-switching/_manifest_entry.js ***!
|
|
\**************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"editorOnly": true,
|
|
"name": "Block switching",
|
|
"description": "Right click on a block to switch it to a related block.",
|
|
"credits": [{
|
|
"name": "GarboMuffin"
|
|
}, {
|
|
"name": "pufferfish101007",
|
|
"link": "https://scratch.mit.edu/users/pufferfish101007/"
|
|
}],
|
|
"dynamicDisable": true,
|
|
"userscripts": [{
|
|
"url": "userscript.js"
|
|
}],
|
|
"tags": ["recommended"],
|
|
"settings": [{
|
|
"dynamic": true,
|
|
"name": "Motion blocks",
|
|
"id": "motion",
|
|
"type": "boolean",
|
|
"default": true
|
|
}, {
|
|
"dynamic": true,
|
|
"name": "Looks blocks",
|
|
"id": "looks",
|
|
"type": "boolean",
|
|
"default": true
|
|
}, {
|
|
"dynamic": true,
|
|
"name": "Sound blocks",
|
|
"id": "sound",
|
|
"type": "boolean",
|
|
"default": true
|
|
}, {
|
|
"dynamic": true,
|
|
"name": "Event blocks",
|
|
"id": "event",
|
|
"type": "boolean",
|
|
"default": true
|
|
}, {
|
|
"dynamic": true,
|
|
"name": "Control blocks",
|
|
"id": "control",
|
|
"type": "boolean",
|
|
"default": true
|
|
}, {
|
|
"dynamic": true,
|
|
"name": "Operator blocks",
|
|
"id": "operator",
|
|
"type": "boolean",
|
|
"default": true
|
|
}, {
|
|
"dynamic": true,
|
|
"name": "Sensing blocks",
|
|
"id": "sensing",
|
|
"type": "boolean",
|
|
"default": true
|
|
}, {
|
|
"dynamic": true,
|
|
"name": "Data blocks",
|
|
"id": "data",
|
|
"type": "boolean",
|
|
"default": true
|
|
}, {
|
|
"dynamic": true,
|
|
"name": "Extension blocks",
|
|
"id": "extension",
|
|
"type": "boolean",
|
|
"default": true
|
|
}, {
|
|
"dynamic": true,
|
|
"name": "Addon blocks",
|
|
"id": "sa",
|
|
"type": "boolean",
|
|
"default": true,
|
|
"if": {
|
|
"addonEnabled": ["debugger"]
|
|
}
|
|
}, {
|
|
"dynamic": true,
|
|
"name": "Custom block arguments",
|
|
"id": "customargs",
|
|
"type": "boolean",
|
|
"default": true
|
|
}, {
|
|
"dynamic": true,
|
|
"name": "Shown custom block arguments options",
|
|
"id": "customargsmode",
|
|
"type": "select",
|
|
"default": "defOnly",
|
|
"potentialValues": [{
|
|
"id": "defOnly",
|
|
"name": "Arguments in own custom block"
|
|
}, {
|
|
"id": "all",
|
|
"name": "Arguments in all custom blocks in sprite"
|
|
}],
|
|
"if": {
|
|
"settings": {
|
|
"customargs": true
|
|
}
|
|
}
|
|
}, {
|
|
"dynamic": true,
|
|
"name": "Show option to change block to self",
|
|
"id": "noop",
|
|
"type": "boolean",
|
|
"default": true
|
|
}],
|
|
"enabledByDefault": true
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/blocks2image/_manifest_entry.js":
|
|
/*!***********************************************************!*\
|
|
!*** ./src/addons/addons/blocks2image/_manifest_entry.js ***!
|
|
\***********************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"editorOnly": true,
|
|
"name": "Save blocks as image",
|
|
"description": "Right click the code area to export blocks as SVG/PNG images.",
|
|
"tags": [],
|
|
"credits": [{
|
|
"name": "summerscar"
|
|
}],
|
|
"dynamicDisable": true,
|
|
"userscripts": [{
|
|
"url": "userscript.js"
|
|
}],
|
|
"enabledByDefault": false
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/cat-blocks/_manifest_entry.js":
|
|
/*!*********************************************************!*\
|
|
!*** ./src/addons/addons/cat-blocks/_manifest_entry.js ***!
|
|
\*********************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"editorOnly": true,
|
|
"noTranslations": true,
|
|
"name": "Cat blocks",
|
|
"description": "Brings back editor cat hat blocks from April Fools 2020.",
|
|
"credits": [{
|
|
"name": "TheColaber",
|
|
"link": "https://scratch.mit.edu/users/TheColaber/"
|
|
}, {
|
|
"name": "GarboMuffin"
|
|
}],
|
|
"userscripts": [{
|
|
"url": "userscript.js"
|
|
}],
|
|
"info": [{
|
|
"type": "notice",
|
|
"text": "The \"watch mouse cursor\" setting may impact performance when the editor is open.",
|
|
"id": "watch"
|
|
}],
|
|
"settings": [{
|
|
"id": "watch",
|
|
"name": "Watch mouse cursor",
|
|
"default": false,
|
|
"type": "boolean"
|
|
}],
|
|
"tags": ["theme"],
|
|
"enabledByDefault": false
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/clones/_manifest_entry.js":
|
|
/*!*****************************************************!*\
|
|
!*** ./src/addons/addons/clones/_manifest_entry.js ***!
|
|
\*****************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"editorOnly": true,
|
|
"name": "Clone counter",
|
|
"description": "Adds a counter above the stage in the editor which shows the total amount of clones.",
|
|
"credits": [{
|
|
"name": "Jeffalo"
|
|
}, {
|
|
"name": "OregSam",
|
|
"link": "https://scratch.mit.edu/users/simiagain/"
|
|
}],
|
|
"dynamicDisable": true,
|
|
"userscripts": [{
|
|
"url": "userscript.js"
|
|
}],
|
|
"userstyles": [{
|
|
"url": "style.css"
|
|
}],
|
|
"settings": [{
|
|
"dynamic": true,
|
|
"id": "showicononly",
|
|
"name": "Show icon only",
|
|
"default": false,
|
|
"type": "boolean"
|
|
}],
|
|
"tags": ["recommended"],
|
|
"enabledByDefault": false
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/color-picker/_manifest_entry.js":
|
|
/*!***********************************************************!*\
|
|
!*** ./src/addons/addons/color-picker/_manifest_entry.js ***!
|
|
\***********************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"editorOnly": true,
|
|
"name": "Hex color picker",
|
|
"description": "Adds hex code inputs to color pickers.",
|
|
"tags": ["recommended"],
|
|
"credits": [{
|
|
"name": "Richie Bendall"
|
|
}, {
|
|
"name": "apple502j"
|
|
}],
|
|
"userscripts": [{
|
|
"url": "userscript.js"
|
|
}],
|
|
"userstyles": [{
|
|
"url": "style.css"
|
|
}],
|
|
"dynamicDisable": true,
|
|
"enabledByDefault": true
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/columns/_manifest_entry.js":
|
|
/*!******************************************************!*\
|
|
!*** ./src/addons/addons/columns/_manifest_entry.js ***!
|
|
\******************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"editorOnly": true,
|
|
"noTranslations": true,
|
|
"name": "Two-column category menu",
|
|
"description": "Splits the block category menu into two columns and moves it to the top of the block palette, like in Scratch 2.0.",
|
|
"credits": [{
|
|
"name": "TheColaber",
|
|
"link": "https://scratch.mit.edu/TheColaber"
|
|
}],
|
|
"tags": [],
|
|
"dynamicDisable": true,
|
|
"userscripts": [{
|
|
"url": "userscript.js"
|
|
}],
|
|
"userstyles": [{
|
|
"url": "style.css"
|
|
}]
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/custom-block-shape/_manifest_entry.js":
|
|
/*!*****************************************************************!*\
|
|
!*** ./src/addons/addons/custom-block-shape/_manifest_entry.js ***!
|
|
\*****************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"editorOnly": true,
|
|
"noTranslations": true,
|
|
"name": "Customizable block shape",
|
|
"description": "Adjust the padding, corner radius, and notch height of blocks.",
|
|
"tags": ["theme"],
|
|
"credits": [{
|
|
"name": "SheepTester",
|
|
"link": "https://scratch.mit.edu/users/Sheep_maker/"
|
|
}, {
|
|
"name": "lisa_wolfgang",
|
|
"link": "https://scratch.mit.edu/users/lisa_wolfgang/"
|
|
}, {
|
|
"name": "GarboMuffin",
|
|
"link": "https://scratch.mit.edu/users/GarboMuffin/"
|
|
}],
|
|
"enabledByDefault": false,
|
|
"dynamicDisable": true,
|
|
"userscripts": [{
|
|
"url": "userscript.js"
|
|
}],
|
|
"info": [{
|
|
"type": "notice",
|
|
"text": "Decreasing the padding size is only visible to you, so when your projects are viewed by other users, your scripts may overlap.",
|
|
"id": "paddingWarning"
|
|
}],
|
|
"settings": [{
|
|
"dynamic": true,
|
|
"name": "Padding size (50-200%)",
|
|
"id": "paddingSize",
|
|
"type": "integer",
|
|
"min": 50,
|
|
"default": 100,
|
|
"max": 200
|
|
}, {
|
|
"dynamic": true,
|
|
"name": "Corner size (0-300%)",
|
|
"id": "cornerSize",
|
|
"type": "integer",
|
|
"min": 0,
|
|
"default": 100,
|
|
"max": 300
|
|
}, {
|
|
"dynamic": true,
|
|
"name": "Notch height (0-150%)",
|
|
"id": "notchSize",
|
|
"type": "integer",
|
|
"min": 0,
|
|
"default": 100,
|
|
"max": 150
|
|
}],
|
|
"presets": [{
|
|
"name": "3.0 Blocks",
|
|
"id": "default3",
|
|
"description": "The regular appearance of Scratch 3.0 blocks",
|
|
"values": {
|
|
"paddingSize": 100,
|
|
"cornerSize": 100,
|
|
"notchSize": 100
|
|
}
|
|
}, {
|
|
"name": "2.0 Blocks",
|
|
"id": "default2",
|
|
"description": "An appearance similar to Scratch 2.0 blocks",
|
|
"values": {
|
|
"paddingSize": 70,
|
|
"cornerSize": 150,
|
|
"notchSize": 75
|
|
}
|
|
}, {
|
|
"name": "3.0 Flat",
|
|
"id": "flat3",
|
|
"description": "Scratch 3.0 blocks with notches and corners removed",
|
|
"values": {
|
|
"paddingSize": 100,
|
|
"cornerSize": 0,
|
|
"notchSize": 0
|
|
}
|
|
}, {
|
|
"name": "2.0 Flat",
|
|
"id": "flat2",
|
|
"description": "Scratch 2.0 blocks with notches and corners removed",
|
|
"values": {
|
|
"paddingSize": 70,
|
|
"cornerSize": 0,
|
|
"notchSize": 0
|
|
}
|
|
}]
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/custom-block-text/_manifest_entry.js":
|
|
/*!****************************************************************!*\
|
|
!*** ./src/addons/addons/custom-block-text/_manifest_entry.js ***!
|
|
\****************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"name": "Customizable block text style",
|
|
"description": "Changes the thickness of the text on blocks and optionally adds a text shadow.",
|
|
"tags": [],
|
|
"credits": [{
|
|
"name": "Secret-chest"
|
|
}, {
|
|
"name": "_nix",
|
|
"link": "https://scratch.mit.edu/users/_nix"
|
|
}],
|
|
"userstyles": [{
|
|
"url": "text-bold.css",
|
|
"if": {
|
|
"settings": {
|
|
"bold": true
|
|
}
|
|
}
|
|
}, {
|
|
"url": "text-shadow.css",
|
|
"if": {
|
|
"settings": {
|
|
"shadow": true
|
|
}
|
|
}
|
|
}],
|
|
"settings": [{
|
|
"dynamic": true,
|
|
"name": "Bold text",
|
|
"id": "bold",
|
|
"type": "boolean",
|
|
"default": false
|
|
}, {
|
|
"dynamic": true,
|
|
"name": "Shadow under text",
|
|
"id": "shadow",
|
|
"type": "boolean",
|
|
"default": false
|
|
}],
|
|
"dynamicDisable": true,
|
|
"enabledByDefault": false
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/custom-zoom/_manifest_entry.js":
|
|
/*!**********************************************************!*\
|
|
!*** ./src/addons/addons/custom-zoom/_manifest_entry.js ***!
|
|
\**********************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"editorOnly": true,
|
|
"noTranslations": true,
|
|
"name": "Customizable code area zoom",
|
|
"description": "Choose custom settings for the minimum, maximum, speed, and start size of the zoom of scripts in the code area, and autohide the controls.",
|
|
"tags": [],
|
|
"credits": [{
|
|
"name": "ErrorGamer2000",
|
|
"link": "https://scratch.mit.edu/users/ErrorGamer2000/"
|
|
}],
|
|
"enabledByDefault": false,
|
|
"userscripts": [{
|
|
"url": "userscript.js"
|
|
}],
|
|
"userstyles": [{
|
|
"url": "style.css"
|
|
}],
|
|
"settings": [{
|
|
"dynamic": true,
|
|
"name": "Maximum Zoom (100-500%)",
|
|
"id": "maxZoom",
|
|
"type": "integer",
|
|
"min": 100,
|
|
"default": 300,
|
|
"max": 500
|
|
}, {
|
|
"dynamic": true,
|
|
"name": "Minimum Zoom (1-100%)",
|
|
"id": "minZoom",
|
|
"type": "integer",
|
|
"min": 1,
|
|
"default": 30,
|
|
"max": 100
|
|
}, {
|
|
"dynamic": true,
|
|
"name": "Start Zoom (50-500%)",
|
|
"id": "startZoom",
|
|
"type": "integer",
|
|
"min": 50,
|
|
"default": 68,
|
|
"max": 500
|
|
}, {
|
|
"dynamic": true,
|
|
"name": "Zoom Speed (50-200%)",
|
|
"id": "zoomSpeed",
|
|
"type": "integer",
|
|
"min": 50,
|
|
"default": 100,
|
|
"max": 200
|
|
}, {
|
|
"name": "Autohide Zoom Controls",
|
|
"id": "autohide",
|
|
"type": "boolean",
|
|
"default": false
|
|
}, {
|
|
"dynamic": true,
|
|
"name": "Autohide Animation Speed",
|
|
"id": "speed",
|
|
"type": "select",
|
|
"potentialValues": [{
|
|
"id": "none",
|
|
"name": "Instant"
|
|
}, {
|
|
"id": "short",
|
|
"name": "Quick"
|
|
}, {
|
|
"id": "default",
|
|
"name": "Default"
|
|
}, {
|
|
"id": "long",
|
|
"name": "Slow"
|
|
}],
|
|
"default": "default",
|
|
"if": {
|
|
"settings": {
|
|
"autohide": true
|
|
}
|
|
}
|
|
}]
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/data-category-tweaks-v2/_manifest_entry.js":
|
|
/*!**********************************************************************!*\
|
|
!*** ./src/addons/addons/data-category-tweaks-v2/_manifest_entry.js ***!
|
|
\**********************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"editorOnly": true,
|
|
"name": "Data category tweaks",
|
|
"description": "Provides tweaks for the Data (\"Variables\") block category.",
|
|
"credits": [{
|
|
"name": "GarboMuffin"
|
|
}],
|
|
"dynamicDisable": true,
|
|
"userscripts": [{
|
|
"url": "userscript.js"
|
|
}],
|
|
"settings": [{
|
|
"dynamic": true,
|
|
"name": "Separate List Category",
|
|
"id": "separateListCategory",
|
|
"type": "boolean",
|
|
"default": true
|
|
}, {
|
|
"dynamic": true,
|
|
"name": "Separate Sprite-only Variables",
|
|
"id": "separateLocalVariables",
|
|
"type": "boolean",
|
|
"default": false
|
|
}, {
|
|
"dynamic": true,
|
|
"name": "Move data blocks above variables list",
|
|
"id": "moveReportersDown",
|
|
"type": "boolean",
|
|
"default": false
|
|
}],
|
|
"tags": ["recommended"],
|
|
"enabledByDefault": false
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/debugger/_manifest_entry.js":
|
|
/*!*******************************************************!*\
|
|
!*** ./src/addons/addons/debugger/_manifest_entry.js ***!
|
|
\*******************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"editorOnly": true,
|
|
"name": "Debugger",
|
|
"description": "Adds a new \"debugger\" window to the editor. Allows for logging into the \"Logs\" tab of the debugger window using the \"log\", \"warn\" and \"error\" blocks.",
|
|
"credits": [{
|
|
"name": "Tacodiva",
|
|
"link": "https://scratch.mit.edu/users/Tacodude7729/"
|
|
}, {
|
|
"name": "GarboMuffin"
|
|
}, {
|
|
"name": "GrahamSH"
|
|
}, {
|
|
"name": "TheColaber"
|
|
}, {
|
|
"name": "retronbv"
|
|
}],
|
|
"userscripts": [{
|
|
"url": "userscript.js"
|
|
}],
|
|
"userstyles": [{
|
|
"url": "style.css"
|
|
}],
|
|
"settings": [{
|
|
"dynamic": true,
|
|
"name": "Clear logs on green flag",
|
|
"id": "log_clear_greenflag",
|
|
"type": "boolean",
|
|
"default": false
|
|
}, {
|
|
"dynamic": true,
|
|
"name": "Log green flag clicks",
|
|
"id": "log_greenflag",
|
|
"type": "boolean",
|
|
"default": false
|
|
}, {
|
|
"dynamic": true,
|
|
"name": "Log clone creation",
|
|
"id": "log_clone_create",
|
|
"type": "boolean",
|
|
"default": false
|
|
}, {
|
|
"dynamic": true,
|
|
"name": "Log when max clones exceeded",
|
|
"id": "log_failed_clone_creation",
|
|
"type": "boolean",
|
|
"default": true
|
|
}, {
|
|
"dynamic": true,
|
|
"name": "Log broadcasts",
|
|
"id": "log_broadcasts",
|
|
"type": "boolean",
|
|
"default": false
|
|
}],
|
|
"tags": ["beta"],
|
|
"enabledByDefault": false
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/default-costume-editor-color/_manifest_entry.js":
|
|
/*!***************************************************************************!*\
|
|
!*** ./src/addons/addons/default-costume-editor-color/_manifest_entry.js ***!
|
|
\***************************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"editorOnly": true,
|
|
"noTranslations": true,
|
|
"name": "Customizable default costume editor colors",
|
|
"description": "Changes the default colors and outline size used by the costume editor.",
|
|
"credits": [{
|
|
"name": "GarboMuffin"
|
|
}],
|
|
"userscripts": [{
|
|
"url": "userscript.js"
|
|
}],
|
|
"settings": [{
|
|
"dynamic": true,
|
|
"name": "Default fill color",
|
|
"id": "fill",
|
|
"type": "color",
|
|
"default": "#9966FF"
|
|
}, {
|
|
"dynamic": true,
|
|
"name": "Default outline color",
|
|
"id": "stroke",
|
|
"type": "color",
|
|
"default": "#000000"
|
|
}, {
|
|
"dynamic": true,
|
|
"name": "Default outline size",
|
|
"id": "strokeSize",
|
|
"type": "integer",
|
|
"min": 0,
|
|
"max": 100,
|
|
"default": 4
|
|
}, {
|
|
"dynamic": true,
|
|
"name": "Use previous color instead of resetting after switching tools",
|
|
"id": "persistence",
|
|
"type": "boolean",
|
|
"default": true
|
|
}],
|
|
"tags": [],
|
|
"dynamicDisable": true,
|
|
"enabledByDefault": false
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/disable-paste-offset/_manifest_entry.js":
|
|
/*!*******************************************************************!*\
|
|
!*** ./src/addons/addons/disable-paste-offset/_manifest_entry.js ***!
|
|
\*******************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"editorOnly": true,
|
|
"noTranslations": true,
|
|
"name": "Do not shift pasted items",
|
|
"description": "Paste copied items at their original position instead of shifted slightly in the costume editor.",
|
|
"info": [{
|
|
"text": "This behavior can also be achieved without this addon by Alt+Clicking the item.",
|
|
"id": "vanilla"
|
|
}],
|
|
"credits": [{
|
|
"name": "GarboMuffin"
|
|
}],
|
|
"dynamicDisable": true,
|
|
"userscripts": [{
|
|
"url": "userscript.js"
|
|
}],
|
|
"tags": [],
|
|
"enabledByDefault": false
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/disable-stage-drag-select/_manifest_entry.js":
|
|
/*!************************************************************************!*\
|
|
!*** ./src/addons/addons/disable-stage-drag-select/_manifest_entry.js ***!
|
|
\************************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"editorOnly": true,
|
|
"noTranslations": true,
|
|
"name": "Non-draggable sprites in editor",
|
|
"description": "Removes the ability to drag sprites around on the stage in the editor, except those explicitly set as draggable. Hold Shift while dragging a sprite to move it normally.",
|
|
"credits": [{
|
|
"name": "Chrome_Cat",
|
|
"link": "https://scratch.mit.edu/users/Chrome_Cat/"
|
|
}, {
|
|
"name": "GarboMuffin"
|
|
}],
|
|
"userscripts": [{
|
|
"url": "userscript.js"
|
|
}],
|
|
"tags": [],
|
|
"enabledByDefault": false,
|
|
"dynamicDisable": true
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/drag-drop/_manifest_entry.js":
|
|
/*!********************************************************!*\
|
|
!*** ./src/addons/addons/drag-drop/_manifest_entry.js ***!
|
|
\********************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"noTranslations": true,
|
|
"name": "File drag and drop",
|
|
"description": "Lets you drag images and sounds from your file manager into the sprite pane or costume/sound list. You can also drag text files into lists or \"ask and wait\" question inputs.",
|
|
"credits": [{
|
|
"name": "Sheep_maker"
|
|
}],
|
|
"userscripts": [{
|
|
"url": "userscript.js"
|
|
}],
|
|
"settings": [{
|
|
"dynamic": true,
|
|
"id": "use-hd-upload",
|
|
"name": "Use HD uploads",
|
|
"type": "boolean",
|
|
"default": false,
|
|
"if": {
|
|
"addonEnabled": "better-img-uploads"
|
|
}
|
|
}],
|
|
"dynamicDisable": true,
|
|
"tags": ["recommended"],
|
|
"enabledByDefault": true
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/editor-buttons-reverse-order/_manifest_entry.js":
|
|
/*!***************************************************************************!*\
|
|
!*** ./src/addons/addons/editor-buttons-reverse-order/_manifest_entry.js ***!
|
|
\***************************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"name": "Reverse order of project controls",
|
|
"description": "Moves the green flag and stop buttons to the right and the full screen button to the left, like in Scratch 2.0.",
|
|
"tags": ["theme"],
|
|
"dynamicDisable": true,
|
|
"userstyles": [{
|
|
"url": "userstyle.css"
|
|
}]
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/editor-colored-context-menus/_manifest_entry.js":
|
|
/*!***************************************************************************!*\
|
|
!*** ./src/addons/addons/editor-colored-context-menus/_manifest_entry.js ***!
|
|
\***************************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"editorOnly": true,
|
|
"noTranslations": true,
|
|
"name": "Colored context menus",
|
|
"description": "Makes block right click context menus colorful.",
|
|
"credits": [{
|
|
"name": "GarboMuffin"
|
|
}],
|
|
"dynamicDisable": true,
|
|
"userscripts": [{
|
|
"url": "userscript.js"
|
|
}],
|
|
"userstyles": [{
|
|
"url": "userscript.css"
|
|
}],
|
|
"tags": ["theme"],
|
|
"enabledByDefault": false
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/editor-comment-previews/_manifest_entry.js":
|
|
/*!**********************************************************************!*\
|
|
!*** ./src/addons/addons/editor-comment-previews/_manifest_entry.js ***!
|
|
\**********************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"editorOnly": true,
|
|
"noTranslations": true,
|
|
"name": "Editor comment previews",
|
|
"description": "Allows you to preview the contents of comments by hovering over collapsed comments and blocks. You can use this to view comments that are off-screen, identify a loop block from the bottom by its preview, fit many long comments in a small space, and more.",
|
|
"tags": [],
|
|
"credits": [{
|
|
"name": "lisa_wolfgang",
|
|
"link": "https://scratch.mit.edu/users/lisa_wolfgang/"
|
|
}, {
|
|
"name": "GarboMuffin"
|
|
}],
|
|
"userstyles": [{
|
|
"url": "userstyle.css"
|
|
}],
|
|
"userscripts": [{
|
|
"url": "userscript.js"
|
|
}],
|
|
"settings": [{
|
|
"dynamic": true,
|
|
"name": "Hover collapsed comments to preview",
|
|
"id": "hover-view",
|
|
"type": "boolean",
|
|
"default": true
|
|
}, {
|
|
"dynamic": true,
|
|
"name": "Hover blocks to preview attached comments",
|
|
"id": "hover-view-block",
|
|
"type": "boolean",
|
|
"default": true
|
|
}, {
|
|
"dynamic": true,
|
|
"name": "Hover custom blocks to preview definition comments",
|
|
"id": "hover-view-procedure",
|
|
"type": "boolean",
|
|
"default": true
|
|
}, {
|
|
"dynamic": true,
|
|
"name": "Delay duration",
|
|
"id": "delay",
|
|
"type": "select",
|
|
"potentialValues": [{
|
|
"name": "None",
|
|
"id": "none"
|
|
}, {
|
|
"name": "Short",
|
|
"id": "short"
|
|
}, {
|
|
"name": "Long",
|
|
"id": "long"
|
|
}],
|
|
"default": "short"
|
|
}, {
|
|
"dynamic": true,
|
|
"name": "Follow mouse",
|
|
"id": "follow-mouse",
|
|
"type": "boolean",
|
|
"default": true
|
|
}, {
|
|
"dynamic": true,
|
|
"name": "Reduce transparency",
|
|
"id": "reduce-transparency",
|
|
"type": "boolean",
|
|
"default": false
|
|
}, {
|
|
"dynamic": true,
|
|
"name": "Reduce animation",
|
|
"id": "reduce-animation",
|
|
"type": "boolean",
|
|
"default": false
|
|
}],
|
|
"dynamicDisable": true,
|
|
"enabledByDefault": true
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/editor-devtools/_manifest_entry.js":
|
|
/*!**************************************************************!*\
|
|
!*** ./src/addons/addons/editor-devtools/_manifest_entry.js ***!
|
|
\**************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"editorOnly": true,
|
|
"name": "Developer tools",
|
|
"description": "Adds new menu options to the editor: copy/paste blocks, better clean up, and more!",
|
|
"credits": [{
|
|
"name": "griffpatch"
|
|
}],
|
|
"settings": [{
|
|
"dynamic": true,
|
|
"name": "Enhance \"Clean up Blocks\"",
|
|
"id": "enableCleanUpPlus",
|
|
"type": "boolean",
|
|
"default": true
|
|
}, {
|
|
"dynamic": true,
|
|
"name": "Paste blocks at mouse cursor",
|
|
"id": "enablePasteBlocksAtMouse",
|
|
"type": "boolean",
|
|
"default": true
|
|
}],
|
|
"userscripts": [{
|
|
"url": "userscript.js"
|
|
}],
|
|
"tags": ["recommended"],
|
|
"enabledByDefault": true
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/editor-extra-keys/_manifest_entry.js":
|
|
/*!****************************************************************!*\
|
|
!*** ./src/addons/addons/editor-extra-keys/_manifest_entry.js ***!
|
|
\****************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"editorOnly": true,
|
|
"name": "Extra key options",
|
|
"description": "Adds more keys to the \"key () pressed?\" and \"when () key pressed\" block dropdowns, such as enter, dot, comma, and more. These keys will work even for users who do not have this addon.",
|
|
"tags": ["beta"],
|
|
"credits": [{
|
|
"name": "Tacodiva",
|
|
"link": "https://scratch.mit.edu/users/Tacodude7729/"
|
|
}],
|
|
"info": [{
|
|
"type": "notice",
|
|
"text": "The \"experimental keys\" include equals, slash, semicolon and more. They may not work on all operating systems or keyboard layouts.",
|
|
"id": "experimentalKeysWarn"
|
|
}, {
|
|
"type": "notice",
|
|
"text": "The \"Shift keys\" include keys which typically require the Shift key and a number key, like hashtag, exclamation mark and more. These keys only work with the \"when () key pressed\" block and do not work on all operating systems or keyboard layouts.",
|
|
"id": "shiftKeysWarn"
|
|
}, {
|
|
"type": "warning",
|
|
"text": "The \"TurboWarp keys\" will only work in TurboWarp, not in Scratch.",
|
|
"id": "twKeysWarn"
|
|
}],
|
|
"settings": [{
|
|
"dynamic": true,
|
|
"name": "Show experimental keys",
|
|
"id": "experimentalKeys",
|
|
"type": "boolean",
|
|
"default": false
|
|
}, {
|
|
"dynamic": true,
|
|
"name": "Show Shift keys",
|
|
"id": "shiftKeys",
|
|
"type": "boolean",
|
|
"default": false
|
|
}, {
|
|
"dynamic": true,
|
|
"name": "Show TurboWarp keys",
|
|
"id": "twKeys",
|
|
"type": "boolean",
|
|
"default": false
|
|
}],
|
|
"userscripts": [{
|
|
"url": "userscript.js"
|
|
}],
|
|
"dynamicDisable": true
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/editor-searchable-dropdowns/_manifest_entry.js":
|
|
/*!**************************************************************************!*\
|
|
!*** ./src/addons/addons/editor-searchable-dropdowns/_manifest_entry.js ***!
|
|
\**************************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* harmony import */ var _environment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../environment */ "./src/addons/environment.js");
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"editorOnly": true,
|
|
"name": "Searchable dropdowns",
|
|
"description": "Allows you to search block dropdowns.",
|
|
"credits": [{
|
|
"name": "GarboMuffin"
|
|
}],
|
|
"dynamicDisable": true,
|
|
"userscripts": [{
|
|
"url": "userscript.js"
|
|
}],
|
|
"userstyles": [{
|
|
"url": "userscript.css"
|
|
}],
|
|
"tags": ["recommended"],
|
|
"enabledByDefault": true
|
|
};
|
|
|
|
if (_environment__WEBPACK_IMPORTED_MODULE_0__["isMobile"]) manifest.enabledByDefault = false;
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/editor-sounds/_manifest_entry.js":
|
|
/*!************************************************************!*\
|
|
!*** ./src/addons/addons/editor-sounds/_manifest_entry.js ***!
|
|
\************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"editorOnly": true,
|
|
"noTranslations": true,
|
|
"name": "Editor sound effects",
|
|
"description": "Plays sound effects when you connect or delete blocks.",
|
|
"credits": [{
|
|
"name": "GarboMuffin"
|
|
}],
|
|
"dynamicDisable": true,
|
|
"userscripts": [{
|
|
"url": "userscript.js"
|
|
}],
|
|
"tags": [],
|
|
"enabledByDefault": false
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/editor-stage-left/_manifest_entry.js":
|
|
/*!****************************************************************!*\
|
|
!*** ./src/addons/addons/editor-stage-left/_manifest_entry.js ***!
|
|
\****************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"noTranslations": true,
|
|
"name": "Display stage on left side",
|
|
"description": "Moves the stage to the left side of the editor, like in Scratch 2.0.",
|
|
"info": [{
|
|
"id": "reverseOrder",
|
|
"text": "To change the position of buttons above the stage, use the \"reverse order of project controls\" addon."
|
|
}],
|
|
"credits": [{
|
|
"name": "NitroCipher/ZenithRogue"
|
|
}],
|
|
"userscripts": [{
|
|
"url": "fix-share-the-love.js"
|
|
}],
|
|
"dynamicDisable": true,
|
|
"userstyles": [{
|
|
"url": "stageleft.css"
|
|
}],
|
|
"tags": ["theme"],
|
|
"enabledByDefault": false
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/editor-stepping/_manifest_entry.js":
|
|
/*!**************************************************************!*\
|
|
!*** ./src/addons/addons/editor-stepping/_manifest_entry.js ***!
|
|
\**************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"editorOnly": true,
|
|
"noTranslations": true,
|
|
"noCompiler": true,
|
|
"name": "Running block border",
|
|
"description": "Adds a colored highlight to the blocks that are currently being executed in a project.",
|
|
"dynamicDisable": true,
|
|
"userscripts": [{
|
|
"url": "userscript.js"
|
|
}],
|
|
"settings": [{
|
|
"dynamic": true,
|
|
"name": "Highlight color",
|
|
"id": "highlight-color",
|
|
"type": "color",
|
|
"default": "#0000ff"
|
|
}],
|
|
"tags": [],
|
|
"enabledByDefault": false
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/editor-theme3/_manifest_entry.js":
|
|
/*!************************************************************!*\
|
|
!*** ./src/addons/addons/editor-theme3/_manifest_entry.js ***!
|
|
\************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"editorOnly": true,
|
|
"noTranslations": true,
|
|
"name": "Customizable block colors",
|
|
"description": "Edit block colors for each category in the editor.",
|
|
"credits": [{
|
|
"name": "NitroCipher/ZenithRogue"
|
|
}, {
|
|
"name": "TheColaber",
|
|
"link": "https://scratch.mit.edu/users/TheColaber/"
|
|
}],
|
|
"customCssVariables": [{
|
|
"name": "inputColor-text",
|
|
"value": {
|
|
"type": "alphaThreshold",
|
|
"source": {
|
|
"type": "settingValue",
|
|
"settingId": "input-color"
|
|
},
|
|
"opaque": {
|
|
"type": "textColor",
|
|
"source": {
|
|
"type": "settingValue",
|
|
"settingId": "input-color"
|
|
}
|
|
},
|
|
"transparent": {
|
|
"type": "map",
|
|
"source": {
|
|
"type": "settingValue",
|
|
"settingId": "text"
|
|
},
|
|
"options": {
|
|
"white": "#ffffff",
|
|
"black": "#575e75",
|
|
"colorOnWhite": "#575e75",
|
|
"colorOnBlack": "#ffffff"
|
|
}
|
|
}
|
|
}
|
|
}, {
|
|
"name": "inputColor-blackText",
|
|
"value": {
|
|
"type": "alphaThreshold",
|
|
"source": {
|
|
"type": "settingValue",
|
|
"settingId": "input-color"
|
|
},
|
|
"opaque": {
|
|
"type": "textColor",
|
|
"black": "#000000",
|
|
"source": {
|
|
"type": "settingValue",
|
|
"settingId": "input-color"
|
|
}
|
|
},
|
|
"transparent": {
|
|
"type": "map",
|
|
"source": {
|
|
"type": "settingValue",
|
|
"settingId": "text"
|
|
},
|
|
"options": {
|
|
"white": "#ffffff",
|
|
"black": "#000000",
|
|
"colorOnWhite": "#000000",
|
|
"colorOnBlack": "#ffffff"
|
|
}
|
|
}
|
|
}
|
|
}, {
|
|
"name": "commentText",
|
|
"value": {
|
|
"type": "textColor",
|
|
"source": {
|
|
"type": "settingValue",
|
|
"settingId": "comment-color"
|
|
}
|
|
}
|
|
}, {
|
|
"name": "commentTextTransparent",
|
|
"value": {
|
|
"type": "textColor",
|
|
"black": "rgba(0, 0, 0, 0.50)",
|
|
"white": "rgba(255, 255, 255, 0.50)",
|
|
"source": {
|
|
"type": "settingValue",
|
|
"settingId": "comment-color"
|
|
}
|
|
}
|
|
}, {
|
|
"name": "commentBorder",
|
|
"value": {
|
|
"type": "multiply",
|
|
"source": {
|
|
"type": "settingValue",
|
|
"settingId": "comment-color"
|
|
},
|
|
"r": 0.7,
|
|
"g": 0.7,
|
|
"b": 0.7
|
|
}
|
|
}],
|
|
"dynamicDisable": true,
|
|
"userscripts": [{
|
|
"url": "theme3.js"
|
|
}],
|
|
"userstyles": [{
|
|
"url": "theme3.css"
|
|
}, {
|
|
"url": "black_text.css",
|
|
"if": {
|
|
"settings": {
|
|
"text": "black"
|
|
}
|
|
}
|
|
}, {
|
|
"url": "color_on_white.css",
|
|
"if": {
|
|
"settings": {
|
|
"text": "colorOnWhite"
|
|
}
|
|
}
|
|
}, {
|
|
"url": "color_on_black.css",
|
|
"if": {
|
|
"settings": {
|
|
"text": "colorOnBlack"
|
|
}
|
|
}
|
|
}],
|
|
"settings": [{
|
|
"dynamic": true,
|
|
"name": "motion",
|
|
"id": "motion-color",
|
|
"type": "color",
|
|
"default": "#4C97FF",
|
|
"allowTransparency": true
|
|
}, {
|
|
"dynamic": true,
|
|
"name": "looks",
|
|
"id": "looks-color",
|
|
"type": "color",
|
|
"default": "#9966FF",
|
|
"allowTransparency": true
|
|
}, {
|
|
"dynamic": true,
|
|
"name": "sounds",
|
|
"id": "sounds-color",
|
|
"type": "color",
|
|
"default": "#CF63CF",
|
|
"allowTransparency": true
|
|
}, {
|
|
"dynamic": true,
|
|
"name": "events",
|
|
"id": "events-color",
|
|
"type": "color",
|
|
"default": "#FFBF00",
|
|
"allowTransparency": true
|
|
}, {
|
|
"dynamic": true,
|
|
"name": "control",
|
|
"id": "control-color",
|
|
"type": "color",
|
|
"default": "#FFAB19",
|
|
"allowTransparency": true
|
|
}, {
|
|
"dynamic": true,
|
|
"name": "sensing",
|
|
"id": "sensing-color",
|
|
"type": "color",
|
|
"default": "#5CB1D6",
|
|
"allowTransparency": true
|
|
}, {
|
|
"dynamic": true,
|
|
"name": "operators",
|
|
"id": "operators-color",
|
|
"type": "color",
|
|
"default": "#59C059",
|
|
"allowTransparency": true
|
|
}, {
|
|
"dynamic": true,
|
|
"name": "variables",
|
|
"id": "data-color",
|
|
"type": "color",
|
|
"default": "#FF8C1A",
|
|
"allowTransparency": true
|
|
}, {
|
|
"dynamic": true,
|
|
"name": "lists",
|
|
"id": "data-lists-color",
|
|
"type": "color",
|
|
"default": "#FF661A",
|
|
"allowTransparency": true
|
|
}, {
|
|
"dynamic": true,
|
|
"name": "custom",
|
|
"id": "custom-color",
|
|
"type": "color",
|
|
"default": "#FF6680",
|
|
"allowTransparency": true
|
|
}, {
|
|
"dynamic": true,
|
|
"name": "extensions",
|
|
"id": "Pen-color",
|
|
"type": "color",
|
|
"default": "#0FBD8C",
|
|
"allowTransparency": true
|
|
}, {
|
|
"dynamic": true,
|
|
"name": "TurboWarp",
|
|
"id": "tw-color",
|
|
"type": "color",
|
|
"default": "#ff4c4c",
|
|
"allowTransparency": true
|
|
}, {
|
|
"dynamic": true,
|
|
"name": "Addon blocks",
|
|
"id": "sa-color",
|
|
"type": "color",
|
|
"default": "#29BEB8",
|
|
"allowTransparency": true,
|
|
"if": {
|
|
"addonEnabled": ["debugger"]
|
|
}
|
|
}, {
|
|
"dynamic": true,
|
|
"name": "Block inputs",
|
|
"id": "input-color",
|
|
"type": "color",
|
|
"default": "#FFFFFF",
|
|
"allowTransparency": true
|
|
}, {
|
|
"dynamic": true,
|
|
"name": "Comments",
|
|
"id": "comment-color",
|
|
"type": "color",
|
|
"default": "#FEF49C"
|
|
}, {
|
|
"dynamic": true,
|
|
"name": "Text color",
|
|
"id": "text",
|
|
"type": "select",
|
|
"default": "white",
|
|
"potentialValues": [{
|
|
"id": "white",
|
|
"name": "White"
|
|
}, {
|
|
"id": "black",
|
|
"name": "Black"
|
|
}, {
|
|
"id": "colorOnWhite",
|
|
"name": "Colored on white background"
|
|
}, {
|
|
"id": "colorOnBlack",
|
|
"name": "Colored on black background"
|
|
}]
|
|
}],
|
|
"tags": ["theme"],
|
|
"enabledByDefault": false,
|
|
"presets": [{
|
|
"name": "3.0 Tweaks",
|
|
"id": "tweaks",
|
|
"description": "Events, Control, and Custom blocks with 2.0 inspired colors",
|
|
"values": {
|
|
"motion-color": "#4C97FF",
|
|
"looks-color": "#9966FF",
|
|
"sounds-color": "#CF63CF",
|
|
"events-color": "#DE9E2E",
|
|
"control-color": "#FFBF00",
|
|
"sensing-color": "#5CB1D6",
|
|
"operators-color": "#59C059",
|
|
"data-color": "#FF8C1A",
|
|
"data-lists-color": "#FF661A",
|
|
"custom-color": "#5f49d8",
|
|
"Pen-color": "#0FBD8C",
|
|
"sa-color": "#29BEB8",
|
|
"comment-color": "#FEF49C",
|
|
"input-color": "#FFFFFF",
|
|
"text": "white"
|
|
}
|
|
}, {
|
|
"name": "2.0 Colors",
|
|
"id": "original",
|
|
"description": "The original block colors from Scratch 2.0",
|
|
"values": {
|
|
"motion-color": "#4a6cd4",
|
|
"looks-color": "#8a55d7",
|
|
"sounds-color": "#bb42c3",
|
|
"events-color": "#c88330",
|
|
"control-color": "#e1a91a",
|
|
"sensing-color": "#2ca5e2",
|
|
"operators-color": "#5cb712",
|
|
"data-color": "#ee7d16",
|
|
"data-lists-color": "#cc5b22",
|
|
"custom-color": "#632d99",
|
|
"Pen-color": "#0e9a6c",
|
|
"sa-color": "#29beb8",
|
|
"comment-color": "#FFFFD2",
|
|
"input-color": "#ffffff",
|
|
"text": "white"
|
|
}
|
|
}, {
|
|
"name": "Dark",
|
|
"id": "dark",
|
|
"description": "Dark versions of the default colors",
|
|
"values": {
|
|
"motion-color": "#004099",
|
|
"looks-color": "#220066",
|
|
"sounds-color": "#752475",
|
|
"events-color": "#997300",
|
|
"control-color": "#664100",
|
|
"sensing-color": "#1f5f7a",
|
|
"operators-color": "#235c23",
|
|
"data-color": "#b35900",
|
|
"data-lists-color": "#993300",
|
|
"custom-color": "#99004d",
|
|
"Pen-color": "#064734",
|
|
"tw-color": "#660000",
|
|
"sa-color": "#166966",
|
|
"comment-color": "#423f24",
|
|
"input-color": "#202020",
|
|
"text": "white"
|
|
}
|
|
}, {
|
|
"name": "Black",
|
|
"id": "black",
|
|
"description": "Makes block backgrounds black",
|
|
"values": {
|
|
"motion-color": "#4C97FF",
|
|
"looks-color": "#9966FF",
|
|
"sounds-color": "#CF63CF",
|
|
"events-color": "#FFBF00",
|
|
"control-color": "#FFAB19",
|
|
"sensing-color": "#5CB1D6",
|
|
"operators-color": "#59C059",
|
|
"data-color": "#FF8C1A",
|
|
"data-lists-color": "#FF661A",
|
|
"custom-color": "#FF6680",
|
|
"Pen-color": "#0FBD8C",
|
|
"sa-color": "#29BEB8",
|
|
"comment-color": "#FEF49C",
|
|
"input-color": "#202020",
|
|
"text": "colorOnBlack"
|
|
}
|
|
}]
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/find-bar/_manifest_entry.js":
|
|
/*!*******************************************************!*\
|
|
!*** ./src/addons/addons/find-bar/_manifest_entry.js ***!
|
|
\*******************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"editorOnly": true,
|
|
"name": "Editor find bar",
|
|
"description": "Adds a find bar to find and jump to scripts, costumes and sounds next to the sounds tab. Use Ctrl+Left and Ctrl+Right in the code area to navigate to previous or next visited position after using the find bar.",
|
|
"info": [{
|
|
"text": "This addon was previously part of the \"developer tools\" addon but has moved here.",
|
|
"id": "developer-tools"
|
|
}],
|
|
"credits": [{
|
|
"name": "griffpatch"
|
|
}, {
|
|
"name": "TheColaber",
|
|
"link": "https://scratch.mit.edu/users/thecolaber/"
|
|
}],
|
|
"dynamicDisable": true,
|
|
"userscripts": [{
|
|
"url": "userscript.js"
|
|
}],
|
|
"userstyles": [{
|
|
"url": "userstyle.css"
|
|
}],
|
|
"tags": ["recommended"],
|
|
"enabledByDefault": true
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/folders/_manifest_entry.js":
|
|
/*!******************************************************!*\
|
|
!*** ./src/addons/addons/folders/_manifest_entry.js ***!
|
|
\******************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"editorOnly": true,
|
|
"name": "Sprite folders",
|
|
"description": "Adds folders to the sprite pane, as well as costume and sound lists. To create a folder, right click any sprite and click \"create folder\". Click a folder to open or close it. Right click a sprite to see what folders you can move it to, or alternatively drag and drop it into an open folder. This feature works by adding \"[folderName]//\" at the beginning of the names for your sprites.",
|
|
"info": [{
|
|
"type": "notice",
|
|
"text": "Users with this feature enabled will be able to see the folders in your project. Anyone else will see sprite lists normally (no folders).",
|
|
"id": "notice-folders-are-public"
|
|
}],
|
|
"credits": [{
|
|
"name": "GarboMuffin"
|
|
}],
|
|
"userscripts": [{
|
|
"url": "userscript.js"
|
|
}],
|
|
"userstyles": [{
|
|
"url": "style.css"
|
|
}],
|
|
"tags": ["recommended"],
|
|
"enabledByDefault": true
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/fullscreen/_manifest_entry.js":
|
|
/*!*********************************************************!*\
|
|
!*** ./src/addons/addons/fullscreen/_manifest_entry.js ***!
|
|
\*********************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"name": "Enhanced full screen",
|
|
"description": "Fixes some undesired effects in the project player's full screen mode, opens it in your browser's full screen mode, and hides the green flag toolbar.",
|
|
"credits": [{
|
|
"name": "lisa_wolfgang",
|
|
"link": "https://scratch.mit.edu/users/lisa_wolfgang/"
|
|
}],
|
|
"info": [{
|
|
"type": "notice",
|
|
"text": "If you choose to hide the toolbar, remember that you can use the Esc key to exit the project player's full screen mode.",
|
|
"id": "hideToolbarNotice"
|
|
}],
|
|
"settings": [{
|
|
"dynamic": true,
|
|
"name": "Open full screen project player in full screen browser mode",
|
|
"id": "browserFullscreen",
|
|
"type": "boolean",
|
|
"default": true
|
|
}, {
|
|
"dynamic": true,
|
|
"name": "Hide toolbar in full screen",
|
|
"id": "hideToolbar",
|
|
"type": "boolean",
|
|
"default": false
|
|
}],
|
|
"dynamicDisable": true,
|
|
"userstyles": [{
|
|
"url": "hideOverflow.css"
|
|
}, {
|
|
"url": "removeBorder.css"
|
|
}, {
|
|
"url": "resizeWindow.css",
|
|
"if": {
|
|
"settings": {
|
|
"hideToolbar": false
|
|
}
|
|
}
|
|
}, {
|
|
"url": "resizeWindow_noToolbar.css",
|
|
"if": {
|
|
"settings": {
|
|
"hideToolbar": true
|
|
}
|
|
}
|
|
}, {
|
|
"url": "hideToolbar.css",
|
|
"if": {
|
|
"settings": {
|
|
"hideToolbar": true
|
|
}
|
|
}
|
|
}],
|
|
"userscripts": [{
|
|
"url": "userscript.js"
|
|
}],
|
|
"tags": ["beta"],
|
|
"enabledByDefault": false
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/gamepad/_manifest_entry.js":
|
|
/*!******************************************************!*\
|
|
!*** ./src/addons/addons/gamepad/_manifest_entry.js ***!
|
|
\******************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"name": "Gamepad support",
|
|
"description": "Interact with projects using a USB or Bluetooth controller/gamepad.",
|
|
"credits": [{
|
|
"name": "GarboMuffin"
|
|
}],
|
|
"userscripts": [{
|
|
"url": "userscript.js"
|
|
}],
|
|
"userstyles": [{
|
|
"url": "style.css"
|
|
}, {
|
|
"url": "gamepadlib.css"
|
|
}],
|
|
"settings": [{
|
|
"dynamic": true,
|
|
"name": "Hide settings button when no controllers detected",
|
|
"type": "boolean",
|
|
"default": false,
|
|
"id": "hide"
|
|
}],
|
|
"tags": [],
|
|
"enabledByDefault": false,
|
|
"dynamicDisable": true
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/hide-delete-button/_manifest_entry.js":
|
|
/*!*****************************************************************!*\
|
|
!*** ./src/addons/addons/hide-delete-button/_manifest_entry.js ***!
|
|
\*****************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"name": "Hide delete button",
|
|
"description": "Hides delete button (trash can icon) from sprites, costumes and sounds. They can still be deleted using the right click context menu.",
|
|
"tags": [],
|
|
"dynamicDisable": true,
|
|
"settings": [{
|
|
"dynamic": true,
|
|
"name": "Sprites",
|
|
"id": "sprites",
|
|
"type": "boolean",
|
|
"default": true
|
|
}, {
|
|
"dynamic": true,
|
|
"name": "Costumes and backdrops",
|
|
"id": "costumes",
|
|
"type": "boolean",
|
|
"default": true
|
|
}, {
|
|
"dynamic": true,
|
|
"name": "Sounds",
|
|
"id": "sounds",
|
|
"type": "boolean",
|
|
"default": true
|
|
}],
|
|
"userstyles": [{
|
|
"url": "sprites.css",
|
|
"if": {
|
|
"settings": {
|
|
"sprites": true
|
|
}
|
|
}
|
|
}, {
|
|
"url": "costumes.css",
|
|
"if": {
|
|
"settings": {
|
|
"costumes": true
|
|
}
|
|
}
|
|
}, {
|
|
"url": "sounds.css",
|
|
"if": {
|
|
"settings": {
|
|
"sounds": true
|
|
}
|
|
}
|
|
}]
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/hide-flyout/_manifest_entry.js":
|
|
/*!**********************************************************!*\
|
|
!*** ./src/addons/addons/hide-flyout/_manifest_entry.js ***!
|
|
\**********************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"editorOnly": true,
|
|
"noTranslations": true,
|
|
"name": "Auto-hiding block palette",
|
|
"description": "Hides the block palette if not hovered. Click the lock icon to lock it in place temporarily. Alternatively, use \"category click\" mode.",
|
|
"credits": [{
|
|
"name": "TheColaber",
|
|
"link": "https://scratch.mit.edu/users/TheColaber/"
|
|
}, {
|
|
"name": "Maximouse",
|
|
"link": "https://scratch.mit.edu/users/Maximouse/"
|
|
}],
|
|
"info": [{
|
|
"text": "\"Palette area hover\" mode only extends the viewing area. If you want to be able to drag blocks into that area without them getting trashed, use one of the other modes.",
|
|
"id": "hoverExplanation"
|
|
}],
|
|
"dynamicDisable": true,
|
|
"customCssVariables": [{
|
|
"name": "lockDisplay",
|
|
"value": {
|
|
"type": "map",
|
|
"source": {
|
|
"type": "settingValue",
|
|
"settingId": "toggle"
|
|
},
|
|
"options": {
|
|
"hover": "flex",
|
|
"cathover": "flex",
|
|
"category": "none"
|
|
}
|
|
}
|
|
}, {
|
|
"name": "placeholderDisplay",
|
|
"value": {
|
|
"type": "map",
|
|
"source": {
|
|
"type": "settingValue",
|
|
"settingId": "toggle"
|
|
},
|
|
"options": {
|
|
"hover": "block",
|
|
"cathover": "none",
|
|
"category": "none"
|
|
}
|
|
}
|
|
}],
|
|
"userscripts": [{
|
|
"url": "userscript.js"
|
|
}],
|
|
"userstyles": [{
|
|
"url": "style.css"
|
|
}],
|
|
"settings": [{
|
|
"dynamic": true,
|
|
"name": "Toggle on...",
|
|
"id": "toggle",
|
|
"type": "select",
|
|
"potentialValues": [{
|
|
"id": "hover",
|
|
"name": "Palette area hover"
|
|
}, {
|
|
"id": "cathover",
|
|
"name": "Category hover"
|
|
}, {
|
|
"id": "category",
|
|
"name": "Category click"
|
|
}],
|
|
"default": "cathover"
|
|
}, {
|
|
"dynamic": true,
|
|
"name": "Animation speed",
|
|
"id": "speed",
|
|
"type": "select",
|
|
"potentialValues": [{
|
|
"id": "none",
|
|
"name": "Instant"
|
|
}, {
|
|
"id": "short",
|
|
"name": "Quick"
|
|
}, {
|
|
"id": "default",
|
|
"name": "Default"
|
|
}, {
|
|
"id": "long",
|
|
"name": "Slow"
|
|
}],
|
|
"default": "default"
|
|
}],
|
|
"tags": ["recommended"]
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/hide-new-variables/_manifest_entry.js":
|
|
/*!*****************************************************************!*\
|
|
!*** ./src/addons/addons/hide-new-variables/_manifest_entry.js ***!
|
|
\*****************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"editorOnly": true,
|
|
"noTranslations": true,
|
|
"name": "Hide new variables",
|
|
"description": "Do not automatically create monitors for newly created variables or lists.",
|
|
"credits": [{
|
|
"name": "GarboMuffin"
|
|
}],
|
|
"userscripts": [{
|
|
"url": "userscript.js"
|
|
}],
|
|
"tags": [],
|
|
"dynamicDisable": true
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/hide-stage/_manifest_entry.js":
|
|
/*!*********************************************************!*\
|
|
!*** ./src/addons/addons/hide-stage/_manifest_entry.js ***!
|
|
\*********************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"editorOnly": true,
|
|
"name": "Hide stage and sprite pane",
|
|
"description": "Adds a button next to the \"small stage\" and \"large stage\" buttons that hides the stage and the sprite pane, making the code area much larger.",
|
|
"credits": [{
|
|
"name": "Maximouse",
|
|
"link": "https://scratch.mit.edu/users/Maximouse/"
|
|
}],
|
|
"dynamicDisable": true,
|
|
"userscripts": [{
|
|
"url": "userscript.js"
|
|
}],
|
|
"userstyles": [{
|
|
"url": "style.css"
|
|
}],
|
|
"tags": []
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/initialise-sprite-position/_manifest_entry.js":
|
|
/*!*************************************************************************!*\
|
|
!*** ./src/addons/addons/initialise-sprite-position/_manifest_entry.js ***!
|
|
\*************************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"editorOnly": true,
|
|
"noTranslations": true,
|
|
"name": "Customizable new sprite position",
|
|
"description": "Change the default x/y position of new sprites.",
|
|
"credits": [{
|
|
"name": "pufferfish101007",
|
|
"link": "https://scratch.mit.edu/users/pufferfish101007/"
|
|
}],
|
|
"dynamicDisable": true,
|
|
"userscripts": [{
|
|
"url": "userscript.js"
|
|
}],
|
|
"settings": [{
|
|
"dynamic": true,
|
|
"id": "x",
|
|
"name": "X position",
|
|
"type": "integer",
|
|
"default": 0,
|
|
"min": -240,
|
|
"max": 240
|
|
}, {
|
|
"dynamic": true,
|
|
"id": "y",
|
|
"name": "Y position",
|
|
"type": "integer",
|
|
"default": 0,
|
|
"min": -180,
|
|
"max": 180
|
|
}, {
|
|
"dynamic": true,
|
|
"id": "library",
|
|
"name": "Randomize the position of library sprites",
|
|
"type": "boolean",
|
|
"default": false
|
|
}, {
|
|
"dynamic": true,
|
|
"id": "duplicate",
|
|
"name": "Behavior when duplicating sprites",
|
|
"type": "select",
|
|
"default": "randomize",
|
|
"potentialValues": [{
|
|
"id": "custom",
|
|
"name": "Send to specified x/y values"
|
|
}, {
|
|
"id": "keep",
|
|
"name": "Keep the same as the original sprite"
|
|
}, {
|
|
"id": "randomize",
|
|
"name": "Randomize"
|
|
}]
|
|
}],
|
|
"tags": [],
|
|
"enabledByDefault": false
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/jump-to-def/_manifest_entry.js":
|
|
/*!**********************************************************!*\
|
|
!*** ./src/addons/addons/jump-to-def/_manifest_entry.js ***!
|
|
\**********************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"name": "Jump to custom block definition",
|
|
"description": "Allows you to jump to a custom block's definition using the middle mouse button or Shift+Click on the block.",
|
|
"info": [{
|
|
"text": "This addon was previously part of the \"developer tools\" addon but has moved here.",
|
|
"id": "developer-tools"
|
|
}],
|
|
"credits": [{
|
|
"name": "griffpatch"
|
|
}],
|
|
"userscripts": [{
|
|
"url": "userscript.js"
|
|
}],
|
|
"tags": ["recommended"],
|
|
"enabledByDefault": true,
|
|
"dynamicDisable": true
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/load-extensions/_manifest_entry.js":
|
|
/*!**************************************************************!*\
|
|
!*** ./src/addons/addons/load-extensions/_manifest_entry.js ***!
|
|
\**************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"editorOnly": true,
|
|
"noTranslations": true,
|
|
"name": "Automatically add extensions",
|
|
"description": "Auto-shows music, pen, and other extensions in the block category menu in the editor.",
|
|
"userscripts": [{
|
|
"url": "userscript.js"
|
|
}],
|
|
"settings": [{
|
|
"name": "Music",
|
|
"id": "music",
|
|
"type": "boolean",
|
|
"default": true
|
|
}, {
|
|
"name": "Pen",
|
|
"id": "pen",
|
|
"type": "boolean",
|
|
"default": true
|
|
}, {
|
|
"name": "Text to Speech",
|
|
"id": "text2speech",
|
|
"type": "boolean",
|
|
"default": false
|
|
}, {
|
|
"name": "Translate",
|
|
"id": "translate",
|
|
"type": "boolean",
|
|
"default": false
|
|
}],
|
|
"dynamicDisable": true,
|
|
"tags": []
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/mediarecorder/_manifest_entry.js":
|
|
/*!************************************************************!*\
|
|
!*** ./src/addons/addons/mediarecorder/_manifest_entry.js ***!
|
|
\************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* harmony import */ var _environment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../environment */ "./src/addons/environment.js");
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"name": "Project video recorder",
|
|
"description": "Adds a \"start recording\" button to the editor menu bar that allows you to record the project's stage.",
|
|
"tags": ["recommended"],
|
|
"userscripts": [{
|
|
"url": "userscript.js"
|
|
}],
|
|
"userstyles": [{
|
|
"url": "style.css"
|
|
}],
|
|
"enabledByDefault": false
|
|
};
|
|
|
|
if (!_environment__WEBPACK_IMPORTED_MODULE_0__["mediaRecorderSupported"]) manifest.unsupported = true;
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/middle-click-popup/_manifest_entry.js":
|
|
/*!*****************************************************************!*\
|
|
!*** ./src/addons/addons/middle-click-popup/_manifest_entry.js ***!
|
|
\*****************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"editorOnly": true,
|
|
"name": "Insert blocks by name",
|
|
"description": "Middle click on the code area, use Ctrl+Space or Shift+Click to bring up a floating input box where you can type the name of a block (or parts of it) and drag the block into the code area. Hold Shift while dragging to avoid closing the box when adding multiple blocks at once.",
|
|
"credits": [{
|
|
"name": "griffpatch"
|
|
}, {
|
|
"name": "TheColaber",
|
|
"link": "https://scratch.mit.edu/users/TheColaber/"
|
|
}],
|
|
"tags": ["recommended"],
|
|
"enabledByDefault": true,
|
|
"userscripts": [{
|
|
"url": "userscript.js"
|
|
}],
|
|
"userstyles": [{
|
|
"url": "userstyle.css"
|
|
}],
|
|
"info": [{
|
|
"text": "This addon was previously part of the \"developer tools\" addon but has moved here.",
|
|
"id": "developer-tools"
|
|
}]
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/mouse-pos/_manifest_entry.js":
|
|
/*!********************************************************!*\
|
|
!*** ./src/addons/addons/mouse-pos/_manifest_entry.js ***!
|
|
\********************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"editorOnly": true,
|
|
"noTranslations": true,
|
|
"name": "Mouse position",
|
|
"description": "Displays your mouse x/y position above the stage in the editor.",
|
|
"credits": [{
|
|
"name": "Jeffalo"
|
|
}],
|
|
"dynamicDisable": true,
|
|
"userscripts": [{
|
|
"url": "userscript.js"
|
|
}],
|
|
"userstyles": [{
|
|
"url": "style.css"
|
|
}],
|
|
"tags": ["recommended"],
|
|
"enabledByDefault": false
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/move-to-top-bottom/_manifest_entry.js":
|
|
/*!*****************************************************************!*\
|
|
!*** ./src/addons/addons/move-to-top-bottom/_manifest_entry.js ***!
|
|
\*****************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"enabledByDefault": true,
|
|
"editorOnly": true,
|
|
"name": "Move costume to top or bottom",
|
|
"description": "Adds options to the right click context menu for costumes and sounds to move them to the top or the bottom of the list.",
|
|
"info": [{
|
|
"text": "This addon was previously part of the \"developer tools\" addon but has moved here.",
|
|
"id": "developer-tools"
|
|
}],
|
|
"tags": [],
|
|
"userscripts": [{
|
|
"url": "userscript.js"
|
|
}],
|
|
"dynamicDisable": true
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/mute-project/_manifest_entry.js":
|
|
/*!***********************************************************!*\
|
|
!*** ./src/addons/addons/mute-project/_manifest_entry.js ***!
|
|
\***********************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"noTranslations": true,
|
|
"name": "Muted project player mode",
|
|
"description": "Ctrl+Click the green flag to mute/unmute the project.",
|
|
"info": [{
|
|
"text": "On macOS, use the Cmd key instead of the Ctrl key.",
|
|
"id": "macOS"
|
|
}],
|
|
"credits": [{
|
|
"name": "TheColaber",
|
|
"link": "https://scratch.mit.edu/users/TheColaber/"
|
|
}],
|
|
"userscripts": [{
|
|
"url": "userscript.js"
|
|
}],
|
|
"dynamicDisable": true,
|
|
"enabledByDefault": true,
|
|
"tags": ["recommended"]
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/no-script-bumping/_manifest_entry.js":
|
|
/*!****************************************************************!*\
|
|
!*** ./src/addons/addons/no-script-bumping/_manifest_entry.js ***!
|
|
\****************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"editorOnly": true,
|
|
"noTranslations": true,
|
|
"name": "Do not automatically space overlapping scripts",
|
|
"description": "Allows scripts to be moved and modified without causing overlapping scripts to move around.",
|
|
"credits": [{
|
|
"name": "GarboMuffin"
|
|
}],
|
|
"userscripts": [{
|
|
"url": "userscript.js"
|
|
}],
|
|
"dynamicDisable": true,
|
|
"tags": [],
|
|
"enabledByDefault": false
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/number-pad/_manifest_entry.js":
|
|
/*!*********************************************************!*\
|
|
!*** ./src/addons/addons/number-pad/_manifest_entry.js ***!
|
|
\*********************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"editorOnly": true,
|
|
"noTranslations": true,
|
|
"name": "Always show number pad",
|
|
"description": "Show Scratch's number pad input when editing number fields on all devices, instead of only touchscreen devices.",
|
|
"credits": [{
|
|
"name": "GarboMuffin"
|
|
}],
|
|
"info": [{
|
|
"text": "A number pad will show when editing number inputs from certain blocks, such as \"set x to\".",
|
|
"id": "explanation"
|
|
}],
|
|
"tags": ["new"],
|
|
"userscripts": [{
|
|
"url": "userscript.js"
|
|
}],
|
|
"dynamicDisable": true
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/onion-skinning/_manifest_entry.js":
|
|
/*!*************************************************************!*\
|
|
!*** ./src/addons/addons/onion-skinning/_manifest_entry.js ***!
|
|
\*************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"editorOnly": true,
|
|
"name": "Onion skinning",
|
|
"description": "Shows transparent overlays of previous or next costumes when editing a costume. Controlled by buttons under the costume editor by the zoom buttons.",
|
|
"credits": [{
|
|
"name": "GarboMuffin"
|
|
}],
|
|
"userscripts": [{
|
|
"url": "userscript.js"
|
|
}],
|
|
"userstyles": [{
|
|
"url": "style.css"
|
|
}],
|
|
"settings": [{
|
|
"id": "default",
|
|
"name": "Enable by default",
|
|
"type": "boolean",
|
|
"default": false
|
|
}, {
|
|
"id": "previous",
|
|
"name": "Default previous costumes",
|
|
"type": "integer",
|
|
"default": 1,
|
|
"min": 0,
|
|
"max": 100
|
|
}, {
|
|
"id": "next",
|
|
"name": "Default next costumes",
|
|
"type": "integer",
|
|
"default": 0,
|
|
"min": 0,
|
|
"max": 100
|
|
}, {
|
|
"id": "opacity",
|
|
"name": "Opacity (%)",
|
|
"type": "integer",
|
|
"min": 0,
|
|
"max": 100,
|
|
"default": 25
|
|
}, {
|
|
"id": "opacityStep",
|
|
"name": "Opacity Step (%)",
|
|
"type": "integer",
|
|
"min": 0,
|
|
"max": 100,
|
|
"default": 10
|
|
}, {
|
|
"id": "layering",
|
|
"name": "Default layering",
|
|
"type": "select",
|
|
"default": "front",
|
|
"potentialValues": [{
|
|
"id": "front",
|
|
"name": "Front"
|
|
}, {
|
|
"id": "behind",
|
|
"name": "Behind"
|
|
}]
|
|
}, {
|
|
"id": "mode",
|
|
"name": "Default mode",
|
|
"type": "select",
|
|
"default": "merge",
|
|
"potentialValues": [{
|
|
"id": "merge",
|
|
"name": "Merge images"
|
|
}, {
|
|
"id": "tint",
|
|
"name": "Color tint"
|
|
}]
|
|
}, {
|
|
"name": "Previous costume tint",
|
|
"id": "beforeTint",
|
|
"type": "color",
|
|
"default": "#FF0000"
|
|
}, {
|
|
"name": "Next costume tint",
|
|
"id": "afterTint",
|
|
"type": "color",
|
|
"default": "#0000FF"
|
|
}],
|
|
"tags": ["recommended"],
|
|
"dynamicDisable": true,
|
|
"enabledByDefault": true
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/paint-by-default/_manifest_entry.js":
|
|
/*!***************************************************************!*\
|
|
!*** ./src/addons/addons/paint-by-default/_manifest_entry.js ***!
|
|
\***************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"editorOnly": true,
|
|
"noTranslations": true,
|
|
"name": "Paint costume by default",
|
|
"description": "Changes the default action of \"Choose a Sprite/Costume/Backdrop/Sound\" buttons, which open the library by default.",
|
|
"credits": [{
|
|
"name": "GarboMuffin"
|
|
}],
|
|
"userscripts": [{
|
|
"url": "userscript.js"
|
|
}],
|
|
"settings": [{
|
|
"dynamic": true,
|
|
"id": "sprite",
|
|
"name": "Add sprite",
|
|
"type": "select",
|
|
"potentialValues": [{
|
|
"id": "library",
|
|
"name": "Library"
|
|
}, {
|
|
"id": "paint",
|
|
"name": "Paint"
|
|
}, {
|
|
"id": "surprise",
|
|
"name": "Surprise"
|
|
}, {
|
|
"id": "upload",
|
|
"name": "Upload"
|
|
}],
|
|
"default": "paint"
|
|
}, {
|
|
"dynamic": true,
|
|
"id": "costume",
|
|
"name": "Add costume",
|
|
"type": "select",
|
|
"potentialValues": [{
|
|
"id": "library",
|
|
"name": "Library"
|
|
}, {
|
|
"id": "paint",
|
|
"name": "Paint"
|
|
}, {
|
|
"id": "surprise",
|
|
"name": "Surprise"
|
|
}, {
|
|
"id": "upload",
|
|
"name": "Upload"
|
|
}],
|
|
"default": "paint"
|
|
}, {
|
|
"dynamic": true,
|
|
"id": "backdrop",
|
|
"name": "Add backdrop",
|
|
"type": "select",
|
|
"potentialValues": [{
|
|
"id": "library",
|
|
"name": "Library"
|
|
}, {
|
|
"id": "paint",
|
|
"name": "Paint"
|
|
}, {
|
|
"id": "surprise",
|
|
"name": "Surprise"
|
|
}, {
|
|
"id": "upload",
|
|
"name": "Upload"
|
|
}],
|
|
"default": "paint"
|
|
}, {
|
|
"dynamic": true,
|
|
"id": "sound",
|
|
"name": "Add sound",
|
|
"type": "select",
|
|
"potentialValues": [{
|
|
"id": "library",
|
|
"name": "Library"
|
|
}, {
|
|
"id": "record",
|
|
"name": "Record"
|
|
}, {
|
|
"id": "surprise",
|
|
"name": "Surprise"
|
|
}, {
|
|
"id": "upload",
|
|
"name": "Upload"
|
|
}],
|
|
"default": "library"
|
|
}],
|
|
"dynamicDisable": true,
|
|
"tags": ["recommended"],
|
|
"enabledByDefault": false
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/paint-snap/_manifest_entry.js":
|
|
/*!*********************************************************!*\
|
|
!*** ./src/addons/addons/paint-snap/_manifest_entry.js ***!
|
|
\*********************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"name": "Costume editor snapping",
|
|
"description": "Snap objects in the costume editor to bounding boxes and vector nodes.",
|
|
"tags": ["new"],
|
|
"userscripts": [{
|
|
"url": "userscript.js"
|
|
}],
|
|
"userstyles": [{
|
|
"url": "userstyle.css"
|
|
}],
|
|
"settings": [{
|
|
"type": "boolean",
|
|
"id": "enable-default",
|
|
"name": "Enable by default",
|
|
"default": true
|
|
}, {
|
|
"dynamic": true,
|
|
"type": "color",
|
|
"id": "guide-color",
|
|
"name": "Snapping guide color",
|
|
"default": "#ff0000",
|
|
"allowTransparency": true
|
|
}, {
|
|
"type": "boolean",
|
|
"id": "pageCenter",
|
|
"name": "Snap to page center",
|
|
"default": true
|
|
}, {
|
|
"type": "boolean",
|
|
"id": "pageAxes",
|
|
"name": "Snap to page x and y axes",
|
|
"default": true
|
|
}, {
|
|
"type": "boolean",
|
|
"id": "pageEdges",
|
|
"name": "Snap to page edges",
|
|
"default": true
|
|
}, {
|
|
"type": "boolean",
|
|
"id": "pageCorners",
|
|
"name": "Snap to page corners",
|
|
"default": false
|
|
}, {
|
|
"type": "boolean",
|
|
"id": "objectEdges",
|
|
"name": "Snap to object edges",
|
|
"default": true
|
|
}, {
|
|
"type": "boolean",
|
|
"id": "objectCenters",
|
|
"name": "Snap to object centers",
|
|
"default": true
|
|
}, {
|
|
"type": "boolean",
|
|
"id": "objectMidlines",
|
|
"name": "Snap to object midlines",
|
|
"default": true
|
|
}, {
|
|
"type": "boolean",
|
|
"id": "objectCorners",
|
|
"name": "Snap to object corners",
|
|
"default": false
|
|
}, {
|
|
"type": "boolean",
|
|
"id": "boxCenter",
|
|
"name": "Snap from selection box center",
|
|
"default": true
|
|
}, {
|
|
"type": "boolean",
|
|
"id": "boxCorners",
|
|
"name": "Snap from selection box corners",
|
|
"default": false
|
|
}, {
|
|
"type": "boolean",
|
|
"id": "boxEdgeMids",
|
|
"name": "Snap from selection box edge midpoints",
|
|
"default": false
|
|
}, {
|
|
"type": "positive_integer",
|
|
"id": "threshold",
|
|
"name": "Snapping distance",
|
|
"default": 10,
|
|
"min": 4,
|
|
"max": 100
|
|
}],
|
|
"dynamicDisable": true
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/pause/_manifest_entry.js":
|
|
/*!****************************************************!*\
|
|
!*** ./src/addons/addons/pause/_manifest_entry.js ***!
|
|
\****************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"name": "Pause button",
|
|
"description": "Adds a pause button next to the green flag.",
|
|
"credits": [{
|
|
"name": "Jeffalo"
|
|
}, {
|
|
"name": "GarboMuffin"
|
|
}],
|
|
"dynamicDisable": true,
|
|
"userscripts": [{
|
|
"url": "userscript.js"
|
|
}],
|
|
"userstyles": [{
|
|
"url": "style.css"
|
|
}],
|
|
"tags": ["recommended"],
|
|
"enabledByDefault": true
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/pick-colors-from-stage/_manifest_entry.js":
|
|
/*!*********************************************************************!*\
|
|
!*** ./src/addons/addons/pick-colors-from-stage/_manifest_entry.js ***!
|
|
\*********************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"editorOnly": true,
|
|
"noTranslations": true,
|
|
"enabledByDefault": true,
|
|
"name": "Select stage colors in the costume editor",
|
|
"description": "Allows the costume editor's eye dropper to also pick colors from the stage.",
|
|
"credits": [{
|
|
"name": "GarboMuffin"
|
|
}],
|
|
"tags": [],
|
|
"userscripts": [{
|
|
"url": "userscript.js"
|
|
}],
|
|
"userstyles": [{
|
|
"url": "style.css"
|
|
}],
|
|
"dynamicDisable": true
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/remove-curved-stage-border/_manifest_entry.js":
|
|
/*!*************************************************************************!*\
|
|
!*** ./src/addons/addons/remove-curved-stage-border/_manifest_entry.js ***!
|
|
\*************************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"noTranslations": true,
|
|
"name": "Remove curved stage border",
|
|
"description": "Removes the curved border around the stage, allowing you to see the corners.",
|
|
"tags": ["theme"],
|
|
"credits": [{
|
|
"name": "Tacodiva",
|
|
"link": "https://scratch.mit.edu/users/Tacodude7729/"
|
|
}],
|
|
"enabledByDefault": false,
|
|
"dynamicDisable": true,
|
|
"userstyles": [{
|
|
"url": "remove-borders.css"
|
|
}]
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/remove-sprite-confirm/_manifest_entry.js":
|
|
/*!********************************************************************!*\
|
|
!*** ./src/addons/addons/remove-sprite-confirm/_manifest_entry.js ***!
|
|
\********************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"editorOnly": true,
|
|
"name": "Sprite deletion confirmation",
|
|
"description": "Asks if you're sure when deleting a sprite inside a project.",
|
|
"userscripts": [{
|
|
"url": "userscript.js"
|
|
}],
|
|
"dynamicDisable": true,
|
|
"tags": ["recommended"],
|
|
"enabledByDefault": false
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/rename-broadcasts/_manifest_entry.js":
|
|
/*!****************************************************************!*\
|
|
!*** ./src/addons/addons/rename-broadcasts/_manifest_entry.js ***!
|
|
\****************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"editorOnly": true,
|
|
"enabledByDefault": true,
|
|
"name": "Rename broadcasts",
|
|
"description": "Adds an option to rename broadcast messages in the broadcast blocks' dropdowns.",
|
|
"credits": [{
|
|
"name": "TheColaber",
|
|
"link": "https://scratch.mit.edu/users/TheColaber"
|
|
}, {
|
|
"name": "GarboMuffin"
|
|
}],
|
|
"tags": ["new"],
|
|
"userscripts": [{
|
|
"url": "userscript.js"
|
|
}],
|
|
"dynamicDisable": true
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/script-snap/_manifest_entry.js":
|
|
/*!**********************************************************!*\
|
|
!*** ./src/addons/addons/script-snap/_manifest_entry.js ***!
|
|
\**********************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"editorOnly": true,
|
|
"noTranslations": true,
|
|
"name": "Snap scripts to grid",
|
|
"description": "Drag a script to automatically align its position to the code area dots.",
|
|
"tags": [],
|
|
"credits": [{
|
|
"name": "CST1229",
|
|
"link": "https://scratch.mit.edu/users/CST1229/"
|
|
}, {
|
|
"name": "TheColaber",
|
|
"link": "https://scratch.mit.edu/users/TheColaber/"
|
|
}, {
|
|
"name": "lisa_wolfgang",
|
|
"link": "https://scratch.mit.edu/users/lisa_wolfgang/"
|
|
}],
|
|
"userscripts": [{
|
|
"url": "userscript.js"
|
|
}],
|
|
"settings": [{
|
|
"dynamic": true,
|
|
"name": "Grid size (px)",
|
|
"id": "grid",
|
|
"type": "integer",
|
|
"min": 1,
|
|
"default": 40
|
|
}],
|
|
"presets": [{
|
|
"name": "Whole-block",
|
|
"id": "whole-block",
|
|
"values": {
|
|
"grid": 48
|
|
}
|
|
}, {
|
|
"name": "Half-block",
|
|
"id": "half-block",
|
|
"values": {
|
|
"grid": 24
|
|
}
|
|
}, {
|
|
"name": "Default",
|
|
"id": "default",
|
|
"values": {
|
|
"grid": 40
|
|
}
|
|
}],
|
|
"dynamicDisable": true,
|
|
"enabledByDefault": false
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/search-sprites/_manifest_entry.js":
|
|
/*!*************************************************************!*\
|
|
!*** ./src/addons/addons/search-sprites/_manifest_entry.js ***!
|
|
\*************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"editorOnly": true,
|
|
"name": "Search sprites by name",
|
|
"description": "Adds a search box to the sprite pane to search for sprites by name.",
|
|
"credits": [{
|
|
"name": "BarelySmooth",
|
|
"link": "https://scratch.mit.edu/users/BarelySmooth/"
|
|
}, {
|
|
"name": "GarboMuffin"
|
|
}],
|
|
"userstyles": [{
|
|
"url": "search-bar.css"
|
|
}],
|
|
"userscripts": [{
|
|
"url": "userscript.js"
|
|
}],
|
|
"dynamicDisable": true,
|
|
"tags": [],
|
|
"enabledByDefault": false
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/sprite-properties/_manifest_entry.js":
|
|
/*!****************************************************************!*\
|
|
!*** ./src/addons/addons/sprite-properties/_manifest_entry.js ***!
|
|
\****************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"editorOnly": true,
|
|
"name": "Collapsing sprite properties",
|
|
"description": "Hides the sprite properties panel by default, like in Scratch 2.0. Use the info button on the currently selected sprite or double-click a sprite to show the properties panel again. To re-hide it, use the collapse button in the properties panel or double-click a sprite.",
|
|
"tags": ["recommended", "new"],
|
|
"credits": [{
|
|
"name": "lisa_wolfgang",
|
|
"link": "https://scratch.mit.edu/users/lisa_wolfgang/"
|
|
}],
|
|
"userstyles": [{
|
|
"url": "userstyle.css"
|
|
}],
|
|
"userscripts": [{
|
|
"url": "userscript.js"
|
|
}],
|
|
"customCssVariables": [{
|
|
"name": "transitionDuration",
|
|
"value": {
|
|
"type": "map",
|
|
"source": {
|
|
"type": "settingValue",
|
|
"settingId": "transitionDuration"
|
|
},
|
|
"options": {
|
|
"none": "0s",
|
|
"short": "0.15s",
|
|
"default": "0.25s",
|
|
"long": "0.5s"
|
|
}
|
|
}
|
|
}],
|
|
"settings": [{
|
|
"dynamic": true,
|
|
"name": "Automatically collapse when mouse leaves sprite panel",
|
|
"id": "autoCollapse",
|
|
"type": "boolean",
|
|
"default": false
|
|
}, {
|
|
"dynamic": true,
|
|
"name": "Collapse panel by default",
|
|
"id": "hideByDefault",
|
|
"type": "boolean",
|
|
"default": true,
|
|
"if": {
|
|
"settings": {
|
|
"autoCollapse": false
|
|
}
|
|
}
|
|
}, {
|
|
"dynamic": true,
|
|
"name": "Animation speed",
|
|
"id": "transitionDuration",
|
|
"type": "select",
|
|
"potentialValues": [{
|
|
"id": "none",
|
|
"name": "Instant"
|
|
}, {
|
|
"id": "short",
|
|
"name": "Quick"
|
|
}, {
|
|
"id": "default",
|
|
"name": "Default"
|
|
}, {
|
|
"id": "long",
|
|
"name": "Slow"
|
|
}],
|
|
"default": "default"
|
|
}],
|
|
"dynamicDisable": true,
|
|
"enabledByDefault": false
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/swap-local-global/_manifest_entry.js":
|
|
/*!****************************************************************!*\
|
|
!*** ./src/addons/addons/swap-local-global/_manifest_entry.js ***!
|
|
\****************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"editorOnly": true,
|
|
"name": "Switch variables between \"For all sprites\" and \"For this sprite only\"",
|
|
"description": "Adds more options when renaming an existing variable or list: allows changing between \"For all sprites\" and \"For this sprite only\" and whether variables are stored in the cloud. Also adds a new option when right clicking a variable/list to quickly change its scope.",
|
|
"credits": [{
|
|
"name": "GarboMuffin"
|
|
}],
|
|
"userscripts": [{
|
|
"url": "userscript.js"
|
|
}],
|
|
"userstyles": [{
|
|
"url": "style.css"
|
|
}],
|
|
"tags": [],
|
|
"dynamicDisable": true,
|
|
"enabledByDefault": false
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/transparent-orphans/_manifest_entry.js":
|
|
/*!******************************************************************!*\
|
|
!*** ./src/addons/addons/transparent-orphans/_manifest_entry.js ***!
|
|
\******************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"editorOnly": true,
|
|
"noTranslations": true,
|
|
"name": "Block transparency",
|
|
"description": "Adjust the transparency for blocks in the editor, with separate options for orphaned blocks (those without a hat block at the top) and blocks that are being dragged.",
|
|
"tags": [],
|
|
"dynamicDisable": true,
|
|
"credits": [{
|
|
"name": "ErrorGamer2000",
|
|
"link": "https://scratch.mit.edu/users/ErrorGamer2000/"
|
|
}, {
|
|
"name": "GarboMuffin"
|
|
}],
|
|
"settings": [{
|
|
"dynamic": true,
|
|
"name": "Block transparency (%)",
|
|
"id": "block",
|
|
"type": "integer",
|
|
"min": 0,
|
|
"max": 100,
|
|
"default": 0
|
|
}, {
|
|
"dynamic": true,
|
|
"name": "Orphaned transparency (%)",
|
|
"id": "orphan",
|
|
"type": "integer",
|
|
"min": 0,
|
|
"max": 100,
|
|
"default": 25
|
|
}, {
|
|
"dynamic": true,
|
|
"name": "Dragged transparency (%)",
|
|
"id": "dragged",
|
|
"type": "integer",
|
|
"min": 0,
|
|
"max": 100,
|
|
"default": 25
|
|
}],
|
|
"userstyles": [{
|
|
"url": "userstyle.css"
|
|
}]
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/tw-disable-cloud-variables/_manifest_entry.js":
|
|
/*!*************************************************************************!*\
|
|
!*** ./src/addons/addons/tw-disable-cloud-variables/_manifest_entry.js ***!
|
|
\*************************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* harmony import */ var _lib_isScratchDesktop__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../lib/isScratchDesktop */ "./src/lib/isScratchDesktop.js");
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"noTranslations": true,
|
|
"name": "Disable cloud variables",
|
|
"description": "Disable cloud variables by default. You can still re-enable them using the Edit > Enable cloud variables menu.",
|
|
"userscripts": [{
|
|
"url": "userscript.js"
|
|
}],
|
|
"tags": ["danger"],
|
|
"enabledByDefault": false
|
|
};
|
|
|
|
if (Object(_lib_isScratchDesktop__WEBPACK_IMPORTED_MODULE_0__["isScratchDesktop"])()) manifest.unsupported = true;
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/tw-disable-compiler/_manifest_entry.js":
|
|
/*!******************************************************************!*\
|
|
!*** ./src/addons/addons/tw-disable-compiler/_manifest_entry.js ***!
|
|
\******************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"editorOnly": true,
|
|
"noTranslations": true,
|
|
"name": "Disable compiler in editor",
|
|
"description": "Turns off the compiler by default in the script editor. It can still be manually enabled through the \"Advanced\" menu bar button.",
|
|
"userscripts": [{
|
|
"url": "userscript.js"
|
|
}],
|
|
"tags": ["danger"],
|
|
"enabledByDefault": false
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/tw-remove-backpack/_manifest_entry.js":
|
|
/*!*****************************************************************!*\
|
|
!*** ./src/addons/addons/tw-remove-backpack/_manifest_entry.js ***!
|
|
\*****************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"noTranslations": true,
|
|
"name": "Hide backpack",
|
|
"description": "Removes the backpack feature from the editor.",
|
|
"userscripts": [{
|
|
"url": "remove-backpack.js"
|
|
}],
|
|
"userstyles": [{
|
|
"url": "remove-backpack.css"
|
|
}],
|
|
"tags": ["danger"],
|
|
"dynamicDisable": true,
|
|
"enabledByDefault": false
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/tw-remove-feedback/_manifest_entry.js":
|
|
/*!*****************************************************************!*\
|
|
!*** ./src/addons/addons/tw-remove-feedback/_manifest_entry.js ***!
|
|
\*****************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"noTranslations": true,
|
|
"name": "Remove feedback button",
|
|
"description": "Removes the feedback button from the menu bar.",
|
|
"userstyles": [{
|
|
"url": "remove-feedback.css"
|
|
}],
|
|
"tags": ["danger"],
|
|
"dynamicDisable": true,
|
|
"enabledByDefault": false
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/tw-straighten-comments/_manifest_entry.js":
|
|
/*!*********************************************************************!*\
|
|
!*** ./src/addons/addons/tw-straighten-comments/_manifest_entry.js ***!
|
|
\*********************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"editorOnly": true,
|
|
"noTranslations": true,
|
|
"name": "Keep block comment connections straight",
|
|
"description": "Forces block comments to always be connected to their source block by a horizontal straight line, not at an angle.",
|
|
"tags": [],
|
|
"credits": [{
|
|
"name": "lisa_wolfgang",
|
|
"link": "https://scratch.mit.edu/users/lisa_wolfgang/"
|
|
}],
|
|
"userscripts": [{
|
|
"url": "userscript.js"
|
|
}],
|
|
"dynamicDisable": true,
|
|
"enabledByDefault": false
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/variable-manager/_manifest_entry.js":
|
|
/*!***************************************************************!*\
|
|
!*** ./src/addons/addons/variable-manager/_manifest_entry.js ***!
|
|
\***************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"editorOnly": true,
|
|
"name": "Variable manager",
|
|
"description": "Adds a tab next to \"sounds\" in the editor for easily updating variables and lists.",
|
|
"credits": [{
|
|
"name": "Jeffalo"
|
|
}, {
|
|
"name": "GarboMuffin"
|
|
}],
|
|
"userscripts": [{
|
|
"url": "userscript.js"
|
|
}],
|
|
"userstyles": [{
|
|
"url": "style.css"
|
|
}],
|
|
"dynamicDisable": true,
|
|
"tags": [],
|
|
"enabledByDefault": false
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/vol-slider/_manifest_entry.js":
|
|
/*!*********************************************************!*\
|
|
!*** ./src/addons/addons/vol-slider/_manifest_entry.js ***!
|
|
\*********************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"noTranslations": true,
|
|
"name": "Project volume slider",
|
|
"description": "Adds a volume slider next to the green flag controls.",
|
|
"credits": [{
|
|
"name": "samq64",
|
|
"link": "https://scratch.mit.edu/users/samq64/"
|
|
}, {
|
|
"name": "GarboMuffin"
|
|
}],
|
|
"userscripts": [{
|
|
"url": "userscript.js"
|
|
}],
|
|
"userstyles": [{
|
|
"url": "userstyle.css"
|
|
}],
|
|
"settings": [{
|
|
"name": "Default volume",
|
|
"id": "defVol",
|
|
"type": "integer",
|
|
"min": 0,
|
|
"max": 100,
|
|
"default": 100
|
|
}],
|
|
"dynamicDisable": true,
|
|
"tags": ["recommended", "new"]
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/addons/zebra-striping/_manifest_entry.js":
|
|
/*!*************************************************************!*\
|
|
!*** ./src/addons/addons/zebra-striping/_manifest_entry.js ***!
|
|
\*************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* generated by pull.js */
|
|
const manifest = {
|
|
"editorOnly": true,
|
|
"noTranslations": true,
|
|
"name": "Alternating nested block colors",
|
|
"description": "Makes blocks of the same category alternate between lighter and darker shades when nested inside each other. This is also known as zebra striping.",
|
|
"credits": [{
|
|
"name": "CST1229",
|
|
"link": "https://scratch.mit.edu/users/CST1229/"
|
|
}, {
|
|
"name": "GarboMuffin"
|
|
}, {
|
|
"name": "TheColaber",
|
|
"link": "https://scratch.mit.edu/users/thecolaber"
|
|
}],
|
|
"tags": [],
|
|
"userscripts": [{
|
|
"url": "userscript.js"
|
|
}],
|
|
"userstyles": [{
|
|
"url": "userstyle.css"
|
|
}],
|
|
"settings": [{
|
|
"dynamic": true,
|
|
"name": "Shade",
|
|
"id": "shade",
|
|
"type": "select",
|
|
"potentialValues": [{
|
|
"name": "Lighter",
|
|
"id": "lighter"
|
|
}, {
|
|
"name": "Darker",
|
|
"id": "darker"
|
|
}],
|
|
"default": "lighter"
|
|
}, {
|
|
"dynamic": true,
|
|
"name": "Intensity (0-100%)",
|
|
"id": "intensity",
|
|
"type": "integer",
|
|
"min": 0,
|
|
"default": 20,
|
|
"max": 100
|
|
}],
|
|
"customCssVariables": [{
|
|
"name": "shadeNumber",
|
|
"value": {
|
|
"type": "map",
|
|
"source": {
|
|
"type": "settingValue",
|
|
"settingId": "shade"
|
|
},
|
|
"options": {
|
|
"lighter": "1",
|
|
"darker": "-1"
|
|
}
|
|
}
|
|
}],
|
|
"dynamicDisable": true
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (manifest);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/environment.js":
|
|
/*!***********************************!*\
|
|
!*** ./src/addons/environment.js ***!
|
|
\***********************************/
|
|
/*! exports provided: isMobile, clipboardSupported, mediaRecorderSupported */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isMobile", function() { return isMobile; });
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "clipboardSupported", function() { return clipboardSupported; });
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mediaRecorderSupported", function() { return mediaRecorderSupported; });
|
|
const isMobile = typeof window !== 'undefined' && 'ontouchstart' in window;
|
|
const clipboardSupported = typeof navigator !== 'undefined' && navigator.clipboard && navigator.clipboard.write;
|
|
const mediaRecorderSupported = typeof MediaRecorder !== 'undefined' && MediaRecorder.isTypeSupported('video/webm');
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/event-target.js":
|
|
/*!************************************!*\
|
|
!*** ./src/addons/event-target.js ***!
|
|
\************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
// Some browsers have a non-functional EventTarget, so we write our own version that works everywhere.
|
|
class EventTargetShim {
|
|
constructor() {
|
|
this._events = {};
|
|
}
|
|
|
|
addEventListener(event, handler) {
|
|
if (!this._events[event]) {
|
|
this._events[event] = [];
|
|
}
|
|
|
|
this._events[event].push(handler);
|
|
}
|
|
|
|
removeEventListener(event, handler) {
|
|
const handlers = this._events[event];
|
|
|
|
if (handlers) {
|
|
this._events[event] = handlers.filter(i => i !== handler);
|
|
}
|
|
}
|
|
|
|
dispatchEvent(event) {
|
|
const handlers = this._events[event.type];
|
|
|
|
if (handlers) {
|
|
for (const fn of handlers) {
|
|
fn(event);
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
/* harmony default export */ __webpack_exports__["default"] = (EventTargetShim);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/generated/addon-manifests.js":
|
|
/*!*************************************************!*\
|
|
!*** ./src/addons/generated/addon-manifests.js ***!
|
|
\*************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* harmony import */ var _addons_cat_blocks_manifest_entry_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../addons/cat-blocks/_manifest_entry.js */ "./src/addons/addons/cat-blocks/_manifest_entry.js");
|
|
/* harmony import */ var _addons_editor_devtools_manifest_entry_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../addons/editor-devtools/_manifest_entry.js */ "./src/addons/addons/editor-devtools/_manifest_entry.js");
|
|
/* harmony import */ var _addons_find_bar_manifest_entry_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../addons/find-bar/_manifest_entry.js */ "./src/addons/addons/find-bar/_manifest_entry.js");
|
|
/* harmony import */ var _addons_middle_click_popup_manifest_entry_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../addons/middle-click-popup/_manifest_entry.js */ "./src/addons/addons/middle-click-popup/_manifest_entry.js");
|
|
/* harmony import */ var _addons_jump_to_def_manifest_entry_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../addons/jump-to-def/_manifest_entry.js */ "./src/addons/addons/jump-to-def/_manifest_entry.js");
|
|
/* harmony import */ var _addons_editor_searchable_dropdowns_manifest_entry_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../addons/editor-searchable-dropdowns/_manifest_entry.js */ "./src/addons/addons/editor-searchable-dropdowns/_manifest_entry.js");
|
|
/* harmony import */ var _addons_data_category_tweaks_v2_manifest_entry_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../addons/data-category-tweaks-v2/_manifest_entry.js */ "./src/addons/addons/data-category-tweaks-v2/_manifest_entry.js");
|
|
/* harmony import */ var _addons_block_palette_icons_manifest_entry_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../addons/block-palette-icons/_manifest_entry.js */ "./src/addons/addons/block-palette-icons/_manifest_entry.js");
|
|
/* harmony import */ var _addons_hide_flyout_manifest_entry_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../addons/hide-flyout/_manifest_entry.js */ "./src/addons/addons/hide-flyout/_manifest_entry.js");
|
|
/* harmony import */ var _addons_mediarecorder_manifest_entry_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../addons/mediarecorder/_manifest_entry.js */ "./src/addons/addons/mediarecorder/_manifest_entry.js");
|
|
/* harmony import */ var _addons_drag_drop_manifest_entry_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../addons/drag-drop/_manifest_entry.js */ "./src/addons/addons/drag-drop/_manifest_entry.js");
|
|
/* harmony import */ var _addons_debugger_manifest_entry_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../addons/debugger/_manifest_entry.js */ "./src/addons/addons/debugger/_manifest_entry.js");
|
|
/* harmony import */ var _addons_pause_manifest_entry_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../addons/pause/_manifest_entry.js */ "./src/addons/addons/pause/_manifest_entry.js");
|
|
/* harmony import */ var _addons_mute_project_manifest_entry_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../addons/mute-project/_manifest_entry.js */ "./src/addons/addons/mute-project/_manifest_entry.js");
|
|
/* harmony import */ var _addons_vol_slider_manifest_entry_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../addons/vol-slider/_manifest_entry.js */ "./src/addons/addons/vol-slider/_manifest_entry.js");
|
|
/* harmony import */ var _addons_clones_manifest_entry_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../addons/clones/_manifest_entry.js */ "./src/addons/addons/clones/_manifest_entry.js");
|
|
/* harmony import */ var _addons_mouse_pos_manifest_entry_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../addons/mouse-pos/_manifest_entry.js */ "./src/addons/addons/mouse-pos/_manifest_entry.js");
|
|
/* harmony import */ var _addons_color_picker_manifest_entry_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../addons/color-picker/_manifest_entry.js */ "./src/addons/addons/color-picker/_manifest_entry.js");
|
|
/* harmony import */ var _addons_remove_sprite_confirm_manifest_entry_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../addons/remove-sprite-confirm/_manifest_entry.js */ "./src/addons/addons/remove-sprite-confirm/_manifest_entry.js");
|
|
/* harmony import */ var _addons_block_count_manifest_entry_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../addons/block-count/_manifest_entry.js */ "./src/addons/addons/block-count/_manifest_entry.js");
|
|
/* harmony import */ var _addons_onion_skinning_manifest_entry_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../addons/onion-skinning/_manifest_entry.js */ "./src/addons/addons/onion-skinning/_manifest_entry.js");
|
|
/* harmony import */ var _addons_paint_snap_manifest_entry_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../addons/paint-snap/_manifest_entry.js */ "./src/addons/addons/paint-snap/_manifest_entry.js");
|
|
/* harmony import */ var _addons_default_costume_editor_color_manifest_entry_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ../addons/default-costume-editor-color/_manifest_entry.js */ "./src/addons/addons/default-costume-editor-color/_manifest_entry.js");
|
|
/* harmony import */ var _addons_bitmap_copy_manifest_entry_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ../addons/bitmap-copy/_manifest_entry.js */ "./src/addons/addons/bitmap-copy/_manifest_entry.js");
|
|
/* harmony import */ var _addons_2d_color_picker_manifest_entry_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ../addons/2d-color-picker/_manifest_entry.js */ "./src/addons/addons/2d-color-picker/_manifest_entry.js");
|
|
/* harmony import */ var _addons_better_img_uploads_manifest_entry_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ../addons/better-img-uploads/_manifest_entry.js */ "./src/addons/addons/better-img-uploads/_manifest_entry.js");
|
|
/* harmony import */ var _addons_pick_colors_from_stage_manifest_entry_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ../addons/pick-colors-from-stage/_manifest_entry.js */ "./src/addons/addons/pick-colors-from-stage/_manifest_entry.js");
|
|
/* harmony import */ var _addons_custom_block_shape_manifest_entry_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ../addons/custom-block-shape/_manifest_entry.js */ "./src/addons/addons/custom-block-shape/_manifest_entry.js");
|
|
/* harmony import */ var _addons_zebra_striping_manifest_entry_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ../addons/zebra-striping/_manifest_entry.js */ "./src/addons/addons/zebra-striping/_manifest_entry.js");
|
|
/* harmony import */ var _addons_editor_theme3_manifest_entry_js__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ../addons/editor-theme3/_manifest_entry.js */ "./src/addons/addons/editor-theme3/_manifest_entry.js");
|
|
/* harmony import */ var _addons_custom_block_text_manifest_entry_js__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ../addons/custom-block-text/_manifest_entry.js */ "./src/addons/addons/custom-block-text/_manifest_entry.js");
|
|
/* harmony import */ var _addons_editor_colored_context_menus_manifest_entry_js__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ../addons/editor-colored-context-menus/_manifest_entry.js */ "./src/addons/addons/editor-colored-context-menus/_manifest_entry.js");
|
|
/* harmony import */ var _addons_editor_stage_left_manifest_entry_js__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ../addons/editor-stage-left/_manifest_entry.js */ "./src/addons/addons/editor-stage-left/_manifest_entry.js");
|
|
/* harmony import */ var _addons_editor_buttons_reverse_order_manifest_entry_js__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ../addons/editor-buttons-reverse-order/_manifest_entry.js */ "./src/addons/addons/editor-buttons-reverse-order/_manifest_entry.js");
|
|
/* harmony import */ var _addons_variable_manager_manifest_entry_js__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ../addons/variable-manager/_manifest_entry.js */ "./src/addons/addons/variable-manager/_manifest_entry.js");
|
|
/* harmony import */ var _addons_search_sprites_manifest_entry_js__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ../addons/search-sprites/_manifest_entry.js */ "./src/addons/addons/search-sprites/_manifest_entry.js");
|
|
/* harmony import */ var _addons_sprite_properties_manifest_entry_js__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ../addons/sprite-properties/_manifest_entry.js */ "./src/addons/addons/sprite-properties/_manifest_entry.js");
|
|
/* harmony import */ var _addons_gamepad_manifest_entry_js__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ../addons/gamepad/_manifest_entry.js */ "./src/addons/addons/gamepad/_manifest_entry.js");
|
|
/* harmony import */ var _addons_editor_sounds_manifest_entry_js__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ../addons/editor-sounds/_manifest_entry.js */ "./src/addons/addons/editor-sounds/_manifest_entry.js");
|
|
/* harmony import */ var _addons_folders_manifest_entry_js__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ../addons/folders/_manifest_entry.js */ "./src/addons/addons/folders/_manifest_entry.js");
|
|
/* harmony import */ var _addons_block_switching_manifest_entry_js__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ../addons/block-switching/_manifest_entry.js */ "./src/addons/addons/block-switching/_manifest_entry.js");
|
|
/* harmony import */ var _addons_load_extensions_manifest_entry_js__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ../addons/load-extensions/_manifest_entry.js */ "./src/addons/addons/load-extensions/_manifest_entry.js");
|
|
/* harmony import */ var _addons_custom_zoom_manifest_entry_js__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! ../addons/custom-zoom/_manifest_entry.js */ "./src/addons/addons/custom-zoom/_manifest_entry.js");
|
|
/* harmony import */ var _addons_initialise_sprite_position_manifest_entry_js__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(/*! ../addons/initialise-sprite-position/_manifest_entry.js */ "./src/addons/addons/initialise-sprite-position/_manifest_entry.js");
|
|
/* harmony import */ var _addons_blocks2image_manifest_entry_js__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(/*! ../addons/blocks2image/_manifest_entry.js */ "./src/addons/addons/blocks2image/_manifest_entry.js");
|
|
/* harmony import */ var _addons_remove_curved_stage_border_manifest_entry_js__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(/*! ../addons/remove-curved-stage-border/_manifest_entry.js */ "./src/addons/addons/remove-curved-stage-border/_manifest_entry.js");
|
|
/* harmony import */ var _addons_transparent_orphans_manifest_entry_js__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(/*! ../addons/transparent-orphans/_manifest_entry.js */ "./src/addons/addons/transparent-orphans/_manifest_entry.js");
|
|
/* harmony import */ var _addons_paint_by_default_manifest_entry_js__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(/*! ../addons/paint-by-default/_manifest_entry.js */ "./src/addons/addons/paint-by-default/_manifest_entry.js");
|
|
/* harmony import */ var _addons_block_cherry_picking_manifest_entry_js__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(/*! ../addons/block-cherry-picking/_manifest_entry.js */ "./src/addons/addons/block-cherry-picking/_manifest_entry.js");
|
|
/* harmony import */ var _addons_hide_new_variables_manifest_entry_js__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(/*! ../addons/hide-new-variables/_manifest_entry.js */ "./src/addons/addons/hide-new-variables/_manifest_entry.js");
|
|
/* harmony import */ var _addons_editor_extra_keys_manifest_entry_js__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(/*! ../addons/editor-extra-keys/_manifest_entry.js */ "./src/addons/addons/editor-extra-keys/_manifest_entry.js");
|
|
/* harmony import */ var _addons_hide_delete_button_manifest_entry_js__WEBPACK_IMPORTED_MODULE_51__ = __webpack_require__(/*! ../addons/hide-delete-button/_manifest_entry.js */ "./src/addons/addons/hide-delete-button/_manifest_entry.js");
|
|
/* harmony import */ var _addons_no_script_bumping_manifest_entry_js__WEBPACK_IMPORTED_MODULE_52__ = __webpack_require__(/*! ../addons/no-script-bumping/_manifest_entry.js */ "./src/addons/addons/no-script-bumping/_manifest_entry.js");
|
|
/* harmony import */ var _addons_disable_stage_drag_select_manifest_entry_js__WEBPACK_IMPORTED_MODULE_53__ = __webpack_require__(/*! ../addons/disable-stage-drag-select/_manifest_entry.js */ "./src/addons/addons/disable-stage-drag-select/_manifest_entry.js");
|
|
/* harmony import */ var _addons_move_to_top_bottom_manifest_entry_js__WEBPACK_IMPORTED_MODULE_54__ = __webpack_require__(/*! ../addons/move-to-top-bottom/_manifest_entry.js */ "./src/addons/addons/move-to-top-bottom/_manifest_entry.js");
|
|
/* harmony import */ var _addons_disable_paste_offset_manifest_entry_js__WEBPACK_IMPORTED_MODULE_55__ = __webpack_require__(/*! ../addons/disable-paste-offset/_manifest_entry.js */ "./src/addons/addons/disable-paste-offset/_manifest_entry.js");
|
|
/* harmony import */ var _addons_block_duplicate_manifest_entry_js__WEBPACK_IMPORTED_MODULE_56__ = __webpack_require__(/*! ../addons/block-duplicate/_manifest_entry.js */ "./src/addons/addons/block-duplicate/_manifest_entry.js");
|
|
/* harmony import */ var _addons_rename_broadcasts_manifest_entry_js__WEBPACK_IMPORTED_MODULE_57__ = __webpack_require__(/*! ../addons/rename-broadcasts/_manifest_entry.js */ "./src/addons/addons/rename-broadcasts/_manifest_entry.js");
|
|
/* harmony import */ var _addons_swap_local_global_manifest_entry_js__WEBPACK_IMPORTED_MODULE_58__ = __webpack_require__(/*! ../addons/swap-local-global/_manifest_entry.js */ "./src/addons/addons/swap-local-global/_manifest_entry.js");
|
|
/* harmony import */ var _addons_editor_comment_previews_manifest_entry_js__WEBPACK_IMPORTED_MODULE_59__ = __webpack_require__(/*! ../addons/editor-comment-previews/_manifest_entry.js */ "./src/addons/addons/editor-comment-previews/_manifest_entry.js");
|
|
/* harmony import */ var _addons_columns_manifest_entry_js__WEBPACK_IMPORTED_MODULE_60__ = __webpack_require__(/*! ../addons/columns/_manifest_entry.js */ "./src/addons/addons/columns/_manifest_entry.js");
|
|
/* harmony import */ var _addons_number_pad_manifest_entry_js__WEBPACK_IMPORTED_MODULE_61__ = __webpack_require__(/*! ../addons/number-pad/_manifest_entry.js */ "./src/addons/addons/number-pad/_manifest_entry.js");
|
|
/* harmony import */ var _addons_script_snap_manifest_entry_js__WEBPACK_IMPORTED_MODULE_62__ = __webpack_require__(/*! ../addons/script-snap/_manifest_entry.js */ "./src/addons/addons/script-snap/_manifest_entry.js");
|
|
/* harmony import */ var _addons_fullscreen_manifest_entry_js__WEBPACK_IMPORTED_MODULE_63__ = __webpack_require__(/*! ../addons/fullscreen/_manifest_entry.js */ "./src/addons/addons/fullscreen/_manifest_entry.js");
|
|
/* harmony import */ var _addons_hide_stage_manifest_entry_js__WEBPACK_IMPORTED_MODULE_64__ = __webpack_require__(/*! ../addons/hide-stage/_manifest_entry.js */ "./src/addons/addons/hide-stage/_manifest_entry.js");
|
|
/* harmony import */ var _addons_tw_straighten_comments_manifest_entry_js__WEBPACK_IMPORTED_MODULE_65__ = __webpack_require__(/*! ../addons/tw-straighten-comments/_manifest_entry.js */ "./src/addons/addons/tw-straighten-comments/_manifest_entry.js");
|
|
/* harmony import */ var _addons_tw_remove_backpack_manifest_entry_js__WEBPACK_IMPORTED_MODULE_66__ = __webpack_require__(/*! ../addons/tw-remove-backpack/_manifest_entry.js */ "./src/addons/addons/tw-remove-backpack/_manifest_entry.js");
|
|
/* harmony import */ var _addons_tw_remove_feedback_manifest_entry_js__WEBPACK_IMPORTED_MODULE_67__ = __webpack_require__(/*! ../addons/tw-remove-feedback/_manifest_entry.js */ "./src/addons/addons/tw-remove-feedback/_manifest_entry.js");
|
|
/* harmony import */ var _addons_tw_disable_cloud_variables_manifest_entry_js__WEBPACK_IMPORTED_MODULE_68__ = __webpack_require__(/*! ../addons/tw-disable-cloud-variables/_manifest_entry.js */ "./src/addons/addons/tw-disable-cloud-variables/_manifest_entry.js");
|
|
/* harmony import */ var _addons_tw_disable_compiler_manifest_entry_js__WEBPACK_IMPORTED_MODULE_69__ = __webpack_require__(/*! ../addons/tw-disable-compiler/_manifest_entry.js */ "./src/addons/addons/tw-disable-compiler/_manifest_entry.js");
|
|
/* harmony import */ var _addons_editor_stepping_manifest_entry_js__WEBPACK_IMPORTED_MODULE_70__ = __webpack_require__(/*! ../addons/editor-stepping/_manifest_entry.js */ "./src/addons/addons/editor-stepping/_manifest_entry.js");
|
|
/* generated by pull.js */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* harmony default export */ __webpack_exports__["default"] = ({
|
|
"cat-blocks": _addons_cat_blocks_manifest_entry_js__WEBPACK_IMPORTED_MODULE_0__["default"],
|
|
"editor-devtools": _addons_editor_devtools_manifest_entry_js__WEBPACK_IMPORTED_MODULE_1__["default"],
|
|
"find-bar": _addons_find_bar_manifest_entry_js__WEBPACK_IMPORTED_MODULE_2__["default"],
|
|
"middle-click-popup": _addons_middle_click_popup_manifest_entry_js__WEBPACK_IMPORTED_MODULE_3__["default"],
|
|
"jump-to-def": _addons_jump_to_def_manifest_entry_js__WEBPACK_IMPORTED_MODULE_4__["default"],
|
|
"editor-searchable-dropdowns": _addons_editor_searchable_dropdowns_manifest_entry_js__WEBPACK_IMPORTED_MODULE_5__["default"],
|
|
"data-category-tweaks-v2": _addons_data_category_tweaks_v2_manifest_entry_js__WEBPACK_IMPORTED_MODULE_6__["default"],
|
|
"block-palette-icons": _addons_block_palette_icons_manifest_entry_js__WEBPACK_IMPORTED_MODULE_7__["default"],
|
|
"hide-flyout": _addons_hide_flyout_manifest_entry_js__WEBPACK_IMPORTED_MODULE_8__["default"],
|
|
"mediarecorder": _addons_mediarecorder_manifest_entry_js__WEBPACK_IMPORTED_MODULE_9__["default"],
|
|
"drag-drop": _addons_drag_drop_manifest_entry_js__WEBPACK_IMPORTED_MODULE_10__["default"],
|
|
"debugger": _addons_debugger_manifest_entry_js__WEBPACK_IMPORTED_MODULE_11__["default"],
|
|
"pause": _addons_pause_manifest_entry_js__WEBPACK_IMPORTED_MODULE_12__["default"],
|
|
"mute-project": _addons_mute_project_manifest_entry_js__WEBPACK_IMPORTED_MODULE_13__["default"],
|
|
"vol-slider": _addons_vol_slider_manifest_entry_js__WEBPACK_IMPORTED_MODULE_14__["default"],
|
|
"clones": _addons_clones_manifest_entry_js__WEBPACK_IMPORTED_MODULE_15__["default"],
|
|
"mouse-pos": _addons_mouse_pos_manifest_entry_js__WEBPACK_IMPORTED_MODULE_16__["default"],
|
|
"color-picker": _addons_color_picker_manifest_entry_js__WEBPACK_IMPORTED_MODULE_17__["default"],
|
|
"remove-sprite-confirm": _addons_remove_sprite_confirm_manifest_entry_js__WEBPACK_IMPORTED_MODULE_18__["default"],
|
|
"block-count": _addons_block_count_manifest_entry_js__WEBPACK_IMPORTED_MODULE_19__["default"],
|
|
"onion-skinning": _addons_onion_skinning_manifest_entry_js__WEBPACK_IMPORTED_MODULE_20__["default"],
|
|
"paint-snap": _addons_paint_snap_manifest_entry_js__WEBPACK_IMPORTED_MODULE_21__["default"],
|
|
"default-costume-editor-color": _addons_default_costume_editor_color_manifest_entry_js__WEBPACK_IMPORTED_MODULE_22__["default"],
|
|
"bitmap-copy": _addons_bitmap_copy_manifest_entry_js__WEBPACK_IMPORTED_MODULE_23__["default"],
|
|
"2d-color-picker": _addons_2d_color_picker_manifest_entry_js__WEBPACK_IMPORTED_MODULE_24__["default"],
|
|
"better-img-uploads": _addons_better_img_uploads_manifest_entry_js__WEBPACK_IMPORTED_MODULE_25__["default"],
|
|
"pick-colors-from-stage": _addons_pick_colors_from_stage_manifest_entry_js__WEBPACK_IMPORTED_MODULE_26__["default"],
|
|
"custom-block-shape": _addons_custom_block_shape_manifest_entry_js__WEBPACK_IMPORTED_MODULE_27__["default"],
|
|
"zebra-striping": _addons_zebra_striping_manifest_entry_js__WEBPACK_IMPORTED_MODULE_28__["default"],
|
|
"editor-theme3": _addons_editor_theme3_manifest_entry_js__WEBPACK_IMPORTED_MODULE_29__["default"],
|
|
"custom-block-text": _addons_custom_block_text_manifest_entry_js__WEBPACK_IMPORTED_MODULE_30__["default"],
|
|
"editor-colored-context-menus": _addons_editor_colored_context_menus_manifest_entry_js__WEBPACK_IMPORTED_MODULE_31__["default"],
|
|
"editor-stage-left": _addons_editor_stage_left_manifest_entry_js__WEBPACK_IMPORTED_MODULE_32__["default"],
|
|
"editor-buttons-reverse-order": _addons_editor_buttons_reverse_order_manifest_entry_js__WEBPACK_IMPORTED_MODULE_33__["default"],
|
|
"variable-manager": _addons_variable_manager_manifest_entry_js__WEBPACK_IMPORTED_MODULE_34__["default"],
|
|
"search-sprites": _addons_search_sprites_manifest_entry_js__WEBPACK_IMPORTED_MODULE_35__["default"],
|
|
"sprite-properties": _addons_sprite_properties_manifest_entry_js__WEBPACK_IMPORTED_MODULE_36__["default"],
|
|
"gamepad": _addons_gamepad_manifest_entry_js__WEBPACK_IMPORTED_MODULE_37__["default"],
|
|
"editor-sounds": _addons_editor_sounds_manifest_entry_js__WEBPACK_IMPORTED_MODULE_38__["default"],
|
|
"folders": _addons_folders_manifest_entry_js__WEBPACK_IMPORTED_MODULE_39__["default"],
|
|
"block-switching": _addons_block_switching_manifest_entry_js__WEBPACK_IMPORTED_MODULE_40__["default"],
|
|
"load-extensions": _addons_load_extensions_manifest_entry_js__WEBPACK_IMPORTED_MODULE_41__["default"],
|
|
"custom-zoom": _addons_custom_zoom_manifest_entry_js__WEBPACK_IMPORTED_MODULE_42__["default"],
|
|
"initialise-sprite-position": _addons_initialise_sprite_position_manifest_entry_js__WEBPACK_IMPORTED_MODULE_43__["default"],
|
|
"blocks2image": _addons_blocks2image_manifest_entry_js__WEBPACK_IMPORTED_MODULE_44__["default"],
|
|
"remove-curved-stage-border": _addons_remove_curved_stage_border_manifest_entry_js__WEBPACK_IMPORTED_MODULE_45__["default"],
|
|
"transparent-orphans": _addons_transparent_orphans_manifest_entry_js__WEBPACK_IMPORTED_MODULE_46__["default"],
|
|
"paint-by-default": _addons_paint_by_default_manifest_entry_js__WEBPACK_IMPORTED_MODULE_47__["default"],
|
|
"block-cherry-picking": _addons_block_cherry_picking_manifest_entry_js__WEBPACK_IMPORTED_MODULE_48__["default"],
|
|
"hide-new-variables": _addons_hide_new_variables_manifest_entry_js__WEBPACK_IMPORTED_MODULE_49__["default"],
|
|
"editor-extra-keys": _addons_editor_extra_keys_manifest_entry_js__WEBPACK_IMPORTED_MODULE_50__["default"],
|
|
"hide-delete-button": _addons_hide_delete_button_manifest_entry_js__WEBPACK_IMPORTED_MODULE_51__["default"],
|
|
"no-script-bumping": _addons_no_script_bumping_manifest_entry_js__WEBPACK_IMPORTED_MODULE_52__["default"],
|
|
"disable-stage-drag-select": _addons_disable_stage_drag_select_manifest_entry_js__WEBPACK_IMPORTED_MODULE_53__["default"],
|
|
"move-to-top-bottom": _addons_move_to_top_bottom_manifest_entry_js__WEBPACK_IMPORTED_MODULE_54__["default"],
|
|
"disable-paste-offset": _addons_disable_paste_offset_manifest_entry_js__WEBPACK_IMPORTED_MODULE_55__["default"],
|
|
"block-duplicate": _addons_block_duplicate_manifest_entry_js__WEBPACK_IMPORTED_MODULE_56__["default"],
|
|
"rename-broadcasts": _addons_rename_broadcasts_manifest_entry_js__WEBPACK_IMPORTED_MODULE_57__["default"],
|
|
"swap-local-global": _addons_swap_local_global_manifest_entry_js__WEBPACK_IMPORTED_MODULE_58__["default"],
|
|
"editor-comment-previews": _addons_editor_comment_previews_manifest_entry_js__WEBPACK_IMPORTED_MODULE_59__["default"],
|
|
"columns": _addons_columns_manifest_entry_js__WEBPACK_IMPORTED_MODULE_60__["default"],
|
|
"number-pad": _addons_number_pad_manifest_entry_js__WEBPACK_IMPORTED_MODULE_61__["default"],
|
|
"script-snap": _addons_script_snap_manifest_entry_js__WEBPACK_IMPORTED_MODULE_62__["default"],
|
|
"fullscreen": _addons_fullscreen_manifest_entry_js__WEBPACK_IMPORTED_MODULE_63__["default"],
|
|
"hide-stage": _addons_hide_stage_manifest_entry_js__WEBPACK_IMPORTED_MODULE_64__["default"],
|
|
"tw-straighten-comments": _addons_tw_straighten_comments_manifest_entry_js__WEBPACK_IMPORTED_MODULE_65__["default"],
|
|
"tw-remove-backpack": _addons_tw_remove_backpack_manifest_entry_js__WEBPACK_IMPORTED_MODULE_66__["default"],
|
|
"tw-remove-feedback": _addons_tw_remove_feedback_manifest_entry_js__WEBPACK_IMPORTED_MODULE_67__["default"],
|
|
"tw-disable-cloud-variables": _addons_tw_disable_cloud_variables_manifest_entry_js__WEBPACK_IMPORTED_MODULE_68__["default"],
|
|
"tw-disable-compiler": _addons_tw_disable_compiler_manifest_entry_js__WEBPACK_IMPORTED_MODULE_69__["default"],
|
|
"editor-stepping": _addons_editor_stepping_manifest_entry_js__WEBPACK_IMPORTED_MODULE_70__["default"]
|
|
});
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/generated/upstream-meta.json":
|
|
/*!*************************************************!*\
|
|
!*** ./src/addons/generated/upstream-meta.json ***!
|
|
\*************************************************/
|
|
/*! exports provided: commit, default */
|
|
/***/ (function(module) {
|
|
|
|
module.exports = JSON.parse("{\"commit\":\"e65a5ac\"}");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/settings-store-singleton.js":
|
|
/*!************************************************!*\
|
|
!*** ./src/addons/settings-store-singleton.js ***!
|
|
\************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* harmony import */ var _settings_store__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./settings-store */ "./src/addons/settings-store.js");
|
|
|
|
const settingStore = new _settings_store__WEBPACK_IMPORTED_MODULE_0__["default"]();
|
|
const urlParameters = new URLSearchParams(location.search);
|
|
|
|
if (urlParameters.has('addons')) {
|
|
settingStore.parseUrlParameter(urlParameters.get('addons'));
|
|
} else {
|
|
settingStore.readLocalStorage();
|
|
}
|
|
|
|
/* harmony default export */ __webpack_exports__["default"] = (settingStore);
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./src/addons/settings-store.js":
|
|
/*!**************************************!*\
|
|
!*** ./src/addons/settings-store.js ***!
|
|
\**************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* harmony import */ var _generated_addon_manifests__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./generated/addon-manifests */ "./src/addons/generated/addon-manifests.js");
|
|
/* harmony import */ var _generated_upstream_meta_json__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./generated/upstream-meta.json */ "./src/addons/generated/upstream-meta.json");
|
|
var _generated_upstream_meta_json__WEBPACK_IMPORTED_MODULE_1___namespace = /*#__PURE__*/__webpack_require__.t(/*! ./generated/upstream-meta.json */ "./src/addons/generated/upstream-meta.json", 1);
|
|
/* harmony import */ var _event_target__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./event-target */ "./src/addons/event-target.js");
|
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
|
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
|
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
|
|
/**
|
|
* Copyright (C) 2021 Thomas Weber
|
|
*
|
|
* This program is free software: you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License version 3 as
|
|
* published by the Free Software Foundation.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
|
|
|
|
const SETTINGS_KEY = 'tw:addons';
|
|
const VERSION = 4;
|
|
|
|
const migrateSettings = settings => {
|
|
const oldVersion = settings._;
|
|
|
|
if (oldVersion === VERSION || !oldVersion) {
|
|
return settings;
|
|
} // Migrate 1 -> 2
|
|
// tw-project-info is now block-count
|
|
// tw-interface-customization split into tw-remove-backpack and tw-remove-feedback
|
|
|
|
|
|
if (oldVersion < 2) {
|
|
const projectInfo = settings['tw-project-info'];
|
|
|
|
if (projectInfo && projectInfo.enabled) {
|
|
settings['block-count'] = {
|
|
enabled: true
|
|
};
|
|
}
|
|
|
|
const interfaceCustomization = settings['tw-interface-customization'];
|
|
|
|
if (interfaceCustomization && interfaceCustomization.enabled) {
|
|
if (interfaceCustomization.removeBackpack) {
|
|
settings['tw-remove-backpack'] = {
|
|
enabled: true
|
|
};
|
|
}
|
|
|
|
if (interfaceCustomization.removeFeedback) {
|
|
settings['tw-remove-feedback'] = {
|
|
enabled: true
|
|
};
|
|
}
|
|
}
|
|
} // Migrate 2 -> 3
|
|
// The default value of hide-flyout's toggle setting changed from "hover" to "cathover"
|
|
// We want to keep the old default value for existing users.
|
|
|
|
|
|
if (oldVersion < 3) {
|
|
const hideFlyout = settings['hide-flyout'];
|
|
|
|
if (hideFlyout && hideFlyout.enabled && typeof hideFlyout.toggled === 'undefined') {
|
|
hideFlyout.toggle = 'hover';
|
|
}
|
|
} // Migrate 3 -> 4
|
|
// editor-devtools was broken up into find-bar and middle-click-popup.
|
|
// If someone disabled editor-devtools, we want to keep these disabled.
|
|
|
|
|
|
if (oldVersion < 4) {
|
|
const editorDevtools = settings['editor-devtools'];
|
|
|
|
if (editorDevtools && editorDevtools.enabled === false) {
|
|
settings['find-bar'] = {
|
|
enabled: false
|
|
};
|
|
settings['middle-click-popup'] = {
|
|
enabled: false
|
|
};
|
|
}
|
|
}
|
|
|
|
return settings;
|
|
};
|
|
/**
|
|
* @template T
|
|
* @param {T|T[]} v A value
|
|
* @returns {T[]} The value if it is a list, otherwise a 1 item list
|
|
*/
|
|
|
|
|
|
const asArray = v => {
|
|
if (Array.isArray(v)) {
|
|
return v;
|
|
}
|
|
|
|
return [v];
|
|
};
|
|
|
|
class SettingsStore extends _event_target__WEBPACK_IMPORTED_MODULE_2__["default"] {
|
|
constructor() {
|
|
super();
|
|
this.store = this.createEmptyStore();
|
|
this.remote = false;
|
|
}
|
|
/**
|
|
* @private
|
|
*/
|
|
|
|
|
|
createEmptyStore() {
|
|
const result = {};
|
|
|
|
for (const addonId of Object.keys(_generated_addon_manifests__WEBPACK_IMPORTED_MODULE_0__["default"])) {
|
|
result[addonId] = {};
|
|
}
|
|
|
|
return result;
|
|
}
|
|
|
|
readLocalStorage() {
|
|
const base = this.store;
|
|
|
|
try {
|
|
const local = localStorage.getItem(SETTINGS_KEY);
|
|
|
|
if (local) {
|
|
let result = JSON.parse(local);
|
|
|
|
if (result && typeof result === 'object') {
|
|
result = migrateSettings(result);
|
|
|
|
for (const key of Object.keys(result)) {
|
|
if (base.hasOwnProperty(key)) {
|
|
const value = result[key];
|
|
|
|
if (value && typeof value === 'object') {
|
|
base[key] = value;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} catch (e) {// ignore
|
|
}
|
|
|
|
this.store = base;
|
|
}
|
|
/**
|
|
* @private
|
|
*/
|
|
|
|
|
|
saveToLocalStorage() {
|
|
if (this.remote) {
|
|
return;
|
|
}
|
|
|
|
try {
|
|
const result = {
|
|
_: VERSION
|
|
};
|
|
|
|
for (const addonId of Object.keys(_generated_addon_manifests__WEBPACK_IMPORTED_MODULE_0__["default"])) {
|
|
const data = this.getAddonStorage(addonId);
|
|
|
|
if (Object.keys(data).length > 0) {
|
|
result[addonId] = data;
|
|
}
|
|
}
|
|
|
|
localStorage.setItem(SETTINGS_KEY, JSON.stringify(result));
|
|
} catch (e) {// ignore
|
|
}
|
|
}
|
|
/**
|
|
* @private
|
|
*/
|
|
|
|
|
|
getAddonStorage(addonId) {
|
|
if (this.store[addonId]) {
|
|
return this.store[addonId];
|
|
}
|
|
|
|
throw new Error("Unknown addon store: ".concat(addonId));
|
|
}
|
|
/**
|
|
* @private
|
|
*/
|
|
|
|
|
|
getAddonManifest(addonId) {
|
|
if (_generated_addon_manifests__WEBPACK_IMPORTED_MODULE_0__["default"][addonId]) {
|
|
return _generated_addon_manifests__WEBPACK_IMPORTED_MODULE_0__["default"][addonId];
|
|
}
|
|
|
|
throw new Error("Unknown addon: ".concat(addonId));
|
|
}
|
|
/**
|
|
* @private
|
|
*/
|
|
|
|
|
|
getAddonSettingObject(manifest, settingId) {
|
|
if (!manifest.settings) {
|
|
return null;
|
|
}
|
|
|
|
for (const setting of manifest.settings) {
|
|
if (setting.id === settingId) {
|
|
return setting;
|
|
}
|
|
}
|
|
|
|
return null;
|
|
}
|
|
|
|
getAddonEnabled(addonId) {
|
|
const manifest = this.getAddonManifest(addonId);
|
|
|
|
if (manifest.unsupported) {
|
|
return false;
|
|
}
|
|
|
|
const storage = this.getAddonStorage(addonId);
|
|
|
|
if (storage.hasOwnProperty('enabled')) {
|
|
return storage.enabled;
|
|
}
|
|
|
|
return !!manifest.enabledByDefault;
|
|
}
|
|
|
|
getAddonSetting(addonId, settingId) {
|
|
const storage = this.getAddonStorage(addonId);
|
|
const manifest = this.getAddonManifest(addonId);
|
|
const settingObject = this.getAddonSettingObject(manifest, settingId);
|
|
|
|
if (!settingObject) {
|
|
throw new Error("Unknown setting: ".concat(settingId));
|
|
}
|
|
|
|
if (storage.hasOwnProperty(settingId)) {
|
|
return storage[settingId];
|
|
}
|
|
|
|
return settingObject.default;
|
|
}
|
|
/**
|
|
* @private
|
|
*/
|
|
|
|
|
|
getDefaultSettings(addonId) {
|
|
const manifest = this.getAddonManifest(addonId);
|
|
const result = {};
|
|
|
|
for (const {
|
|
id,
|
|
default: value
|
|
} of manifest.settings) {
|
|
result[id] = value;
|
|
}
|
|
|
|
return result;
|
|
}
|
|
|
|
setAddonEnabled(addonId, enabled) {
|
|
const storage = this.getAddonStorage(addonId);
|
|
const manifest = this.getAddonManifest(addonId);
|
|
const oldValue = this.getAddonEnabled(addonId);
|
|
|
|
if (enabled === null) {
|
|
enabled = !!manifest.enabledByDefault;
|
|
delete storage.enabled;
|
|
} else if (typeof enabled === 'boolean') {
|
|
storage.enabled = enabled;
|
|
} else {
|
|
throw new Error('Enabled value is invalid.');
|
|
}
|
|
|
|
this.saveToLocalStorage();
|
|
|
|
if (enabled !== oldValue) {
|
|
// Dynamic enable is always supported.
|
|
// Dynamic disable requires addon support.
|
|
const supportsDynamic = enabled ? true : !!manifest.dynamicDisable;
|
|
this.dispatchEvent(new CustomEvent('setting-changed', {
|
|
detail: {
|
|
addonId,
|
|
settingId: 'enabled',
|
|
reloadRequired: !supportsDynamic,
|
|
value: enabled
|
|
}
|
|
}));
|
|
}
|
|
}
|
|
|
|
setAddonSetting(addonId, settingId, value) {
|
|
const storage = this.getAddonStorage(addonId);
|
|
const manifest = this.getAddonManifest(addonId);
|
|
const settingObject = this.getAddonSettingObject(manifest, settingId);
|
|
const oldValue = this.getAddonSetting(addonId, settingId);
|
|
|
|
if (value === null) {
|
|
value = settingObject.default;
|
|
delete storage[settingId];
|
|
} else {
|
|
if (settingObject.type === 'boolean') {
|
|
if (typeof value !== 'boolean') {
|
|
throw new Error('Setting value is invalid.');
|
|
}
|
|
} else if (settingObject.type === 'integer') {
|
|
if (typeof value !== 'number') {
|
|
throw new Error('Setting value is invalid.');
|
|
}
|
|
} else if (settingObject.type === 'color') {
|
|
if (typeof value !== 'string') {
|
|
throw new Error('Color value is not a string.');
|
|
} // Remove alpha channel from colors like #012345ff
|
|
// We don't support transparency yet, but settings imported from Scratch Addons
|
|
// might contain transparency.
|
|
|
|
|
|
if (value.length === 9) {
|
|
value = value.substring(0, 7);
|
|
}
|
|
|
|
if (!/^#[0-9a-f]{6}$/i.test(value)) {
|
|
throw new Error('Color value is invalid format.');
|
|
}
|
|
} else if (settingObject.type === 'select') {
|
|
if (!settingObject.potentialValues.some(potentialValue => potentialValue.id === value)) {
|
|
throw new Error('Setting value is invalid.');
|
|
}
|
|
} else {
|
|
throw new Error('Setting object is of unknown type');
|
|
}
|
|
|
|
storage[settingId] = value;
|
|
}
|
|
|
|
this.saveToLocalStorage();
|
|
|
|
if (value !== oldValue) {
|
|
this.dispatchEvent(new CustomEvent('setting-changed', {
|
|
detail: {
|
|
addonId,
|
|
settingId,
|
|
reloadRequired: !settingObject.dynamic,
|
|
value
|
|
}
|
|
}));
|
|
}
|
|
}
|
|
|
|
applyAddonPreset(addonId, presetId) {
|
|
const manifest = this.getAddonManifest(addonId);
|
|
|
|
for (const {
|
|
id,
|
|
values
|
|
} of manifest.presets) {
|
|
if (id !== presetId) {
|
|
continue;
|
|
}
|
|
|
|
const settings = _objectSpread(_objectSpread({}, this.getDefaultSettings(addonId)), values);
|
|
|
|
for (const key of Object.keys(settings)) {
|
|
this.setAddonSetting(addonId, key, settings[key]);
|
|
}
|
|
|
|
return;
|
|
}
|
|
|
|
throw new Error("Unknown preset: ".concat(presetId));
|
|
}
|
|
|
|
resetAllAddons() {
|
|
for (const addon of Object.keys(_generated_addon_manifests__WEBPACK_IMPORTED_MODULE_0__["default"])) {
|
|
this.resetAddon(addon, true);
|
|
} // In case resetAddon missed some properties, do a hard reset on storage.
|
|
|
|
|
|
this.store = this.createEmptyStore();
|
|
this.saveToLocalStorage();
|
|
}
|
|
|
|
resetAddon(addonId, resetEverything) {
|
|
const storage = this.getAddonStorage(addonId);
|
|
|
|
for (const setting of Object.keys(storage)) {
|
|
if (setting === 'enabled') {
|
|
if (resetEverything) {
|
|
this.setAddonEnabled(addonId, null);
|
|
}
|
|
|
|
continue;
|
|
}
|
|
|
|
try {
|
|
this.setAddonSetting(addonId, setting, null);
|
|
} catch (e) {// ignore
|
|
}
|
|
}
|
|
}
|
|
|
|
parseUrlParameter(parameter) {
|
|
this.remote = true;
|
|
const enabled = parameter.split(',');
|
|
|
|
for (const id of Object.keys(_generated_addon_manifests__WEBPACK_IMPORTED_MODULE_0__["default"])) {
|
|
this.setAddonEnabled(id, enabled.includes(id));
|
|
}
|
|
}
|
|
|
|
export({
|
|
theme
|
|
}) {
|
|
const result = {
|
|
core: {
|
|
// Upstream property. We don't use this.
|
|
lightTheme: theme === 'light',
|
|
// Doesn't matter what we set this to
|
|
version: "v1.0.0-tw-".concat(_generated_upstream_meta_json__WEBPACK_IMPORTED_MODULE_1__.commit)
|
|
},
|
|
addons: {}
|
|
};
|
|
|
|
for (const [addonId, manifest] of Object.entries(_generated_addon_manifests__WEBPACK_IMPORTED_MODULE_0__["default"])) {
|
|
const enabled = this.getAddonEnabled(addonId);
|
|
const settings = {};
|
|
|
|
if (manifest.settings) {
|
|
for (const {
|
|
id
|
|
} of manifest.settings) {
|
|
settings[id] = this.getAddonSetting(addonId, id);
|
|
}
|
|
}
|
|
|
|
result.addons[addonId] = {
|
|
enabled,
|
|
settings
|
|
};
|
|
}
|
|
|
|
return result;
|
|
}
|
|
|
|
import(data) {
|
|
for (const [addonId, value] of Object.entries(data.addons)) {
|
|
if (!_generated_addon_manifests__WEBPACK_IMPORTED_MODULE_0__["default"].hasOwnProperty(addonId)) {
|
|
continue;
|
|
}
|
|
|
|
const {
|
|
enabled,
|
|
settings
|
|
} = value;
|
|
|
|
if (typeof enabled === 'boolean') {
|
|
this.setAddonEnabled(addonId, enabled);
|
|
}
|
|
|
|
for (const [settingId, settingValue] of Object.entries(settings)) {
|
|
try {
|
|
this.setAddonSetting(addonId, settingId, settingValue);
|
|
} catch (e) {// ignore
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
setStoreWithVersionCheck({
|
|
version,
|
|
store
|
|
}) {
|
|
if (version !== _generated_upstream_meta_json__WEBPACK_IMPORTED_MODULE_1__.commit) {
|
|
return;
|
|
}
|
|
|
|
this.setStore(store);
|
|
}
|
|
|
|
setStore(newStore) {
|
|
const oldStore = this.store;
|
|
|
|
for (const addonId of Object.keys(oldStore)) {
|
|
const oldSettings = oldStore[addonId];
|
|
const newSettings = newStore[addonId];
|
|
|
|
if (!newSettings || typeof newSettings !== 'object') {
|
|
continue;
|
|
}
|
|
|
|
if (JSON.stringify(oldSettings) !== JSON.stringify(newSettings)) {
|
|
const manifest = this.getAddonManifest(addonId); // Dynamic enable is always supported.
|
|
|
|
const dynamicEnable = !oldSettings.enabled && newSettings.enabled; // Dynamic disable requires addon support.
|
|
|
|
const dynamicDisable = !!manifest.dynamicDisable && oldSettings.enabled && !newSettings.enabled; // Clone to avoid pass-by-reference issues
|
|
|
|
this.store[addonId] = JSON.parse(JSON.stringify(newSettings));
|
|
this.dispatchEvent(new CustomEvent('addon-changed', {
|
|
detail: {
|
|
addonId,
|
|
dynamicEnable,
|
|
dynamicDisable
|
|
}
|
|
}));
|
|
}
|
|
}
|
|
}
|
|
/**
|
|
* Evaluate an `if` value from addon.json.
|
|
* @param {string} addonId The ID of the addon.
|
|
* @param {unknown} condition Condition from addon.json
|
|
* @returns {boolean} True if the condition is met.
|
|
*/
|
|
|
|
|
|
evaluateCondition(addonId, condition) {
|
|
if (!condition) {
|
|
// No condition. Default to true.
|
|
return true;
|
|
}
|
|
|
|
if (condition.addonEnabled) {
|
|
// addonEnabled is an OR
|
|
const addonsToCheck = asArray(condition.addonEnabled);
|
|
|
|
if (addonsToCheck.every(id => !this.getAddonEnabled(id))) {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
if (condition.settings) {
|
|
// settings is an AND
|
|
for (const [settingName, expectedValue] of Object.entries(condition.settings)) {
|
|
if (this.getAddonSetting(addonId, settingName) !== expectedValue) {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
}
|
|
|
|
/* harmony default export */ __webpack_exports__["default"] = (SettingsStore);
|
|
|
|
/***/ })
|
|
|
|
}]);
|
|
//# sourceMappingURL=addon-settings~addons~editor~fullscreen~player.js.map
|